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

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

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

Задача:в текстовом файле каждую вторую строку разбить на слова.Результат вывести в другой файл. С помощью strtok уже сделал,решил попробовать с помощью fscanf,но не могу сообразить как остановить ее в конце строки,ибо она продолжает считывать весь файл до конца,по словам.Что прописать в условии while в строке 12?
Листинг программы
  1. #include <stdio.h>
  2. int main()
  3. {
  4. int n = 1;
  5. char s[80];
  6. FILE *fin, *fout;
  7. fin = fopen("Input.txt", "r");
  8. fout = fopen("Output.txt", "w");
  9. while(!feof(fin)){
  10. if(n % 2 == 0){
  11. while(?){
  12. fscanf(fin, "%s", s);
  13. fprintf(fout, "%s\n", s);
  14. }
  15. n++;
  16. }
  17. else
  18. fgets(s, 80, fin);
  19. fprintf(fout, "%s", s);
  20. n++;
  21. }
  22. fclose(fin);
  23. fclose(fout);
  24. return 0;
  25. }

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

textual
Листинг программы
  1. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы