В текстовом файле каждую вторую строку разбить на слова - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задача:в текстовом файле каждую вторую строку разбить на слова.Результат вывести в другой файл. С помощью strtok уже сделал,решил попробовать с помощью fscanf,но не могу сообразить как остановить ее в конце строки,ибо она продолжает считывать весь файл до конца,по словам.Что прописать в условии while в строке 12?
#include <stdio.h>
 
int main()
{
    int n = 1;
    char s[80];
    FILE *fin, *fout;
    fin = fopen("Input.txt", "r");
    fout = fopen("Output.txt", "w");
    while(!feof(fin)){
        if(n % 2 == 0){
            while(?){
                fscanf(fin, "%s", s);
                fprintf(fout, "%s\n", s);
            }
            n++;
        }
        else
            fgets(s, 80, fin);
            fprintf(fout, "%s", s);
        n++;
    }
    fclose(fin);
    fclose(fout);
    return 0;
}

Решение задачи: «В текстовом файле каждую вторую строку разбить на слова»

textual
Листинг программы
while(!feof(fin))

Объяснение кода листинга программы

  1. Открывается файл fin для чтения
  2. Создается пустой массив line для хранения строк из файла
  3. Считывается первая строка из файла и сохраняется в массиве line
  4. Если файл не закончился (feof(fin) == 0), то переходим к следующему шагу, иначе выходим из цикла
  5. Считывается вторая строка из файла и сохраняется в массиве line
  6. Если файл не закончился (feof(fin) == 0), то переходим к следующему шагу, иначе выходим из цикла
  7. Массив line разбивается на слова и сохраняется в массиве word
  8. Если файл не закончился (feof(fin) == 0), то переходим к следующему шагу, иначе выходим из цикла
  9. Каждое слово из массива word выводится на экран
  10. Перемещается на следующую строку в файле (файловый указатель перемещается на следующую строку)
  11. Повторяем шаги с 3 по 9 до тех пор, пока файл не закончится (feof(fin) == 1)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы