Как я могу запустить этот текстовый файл и использовать strtok () для извлечения чисел и сохранения чисел в другом файле? - PullRequest
0 голосов
/ 06 апреля 2019

Это проблема с домашним заданием для моего класса C. Мы изучаем файловый ввод / вывод, и я успешно открыл оба файла, и теперь мне нужно использовать strtok () для первого файла, чтобы извлечь числовые данные и сохранить их в другом файле. Я успешно взял числа из первой строки текстового файла и сохранил их в другом файле, но не могу заставить strtok () выполнить весь файл. Есть предложения?

Не много ... Я рисую здесь пробел. Я пытался использовать "\ n", чтобы разделитель был и пробелом, и новой строкой, но я не думаю, что он работает ... Я думал, что в любом случае у меня может быть только 1 разделитель.

    void main()
{
    FILE *fp1 = NULL;
    FILE *fp2 = NULL; 
    int i;
    char strwarehouse[100];
    char *token;


    printf("Scanning files and parsing strings....\n");
    fp1 = fopen("Assign9.txt", "r");
    fp2 = fopen("numfile.txt", "w");

    if (fp1 == NULL)
    {
        printf("ERROR OPENING FILE, TERMINATING PROGRAM\n");
    }
    else
    {
        fgets(strwarehouse, 100, fp1);
        token = strtok(strwarehouse, " \n");
        while (token != NULL)
        {
            if (isdigit(token[0]))
            {
                fprintf(fp2, "%s ", token);
            }
            token = strtok(NULL, " \n");
        }

        fclose(fp2);
        fclose(fp1);


    }
...