Перенос текста из одного файла в другой - C (СИ)

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

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

Нужно ввести n-ое количество строк, которые сохраняется в файле text1.txt и переносятся в text2.txt. Но при вводе, например: я поел; в файле text.2 появляется дополнительный enter и "я". Очевидно, что проблема в самом коде программы. В чем причина? PS. по заданию дополнительно нужно, чтобы эти строчки выводились в порядке убывания. Как это сделать проще всего?
Листинг программы
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <windows.h>
  5. int main(void)
  6. {
  7. SetConsoleCP(1251);
  8. SetConsoleOutputCP(1251);
  9. int i = 0, length = 0;
  10. char *str = malloc(sizeof(char));
  11. FILE *T1, *T2;
  12. printf("Введите строки:\n");
  13. T1 = fopen("text1.txt", "w");
  14. while (str[1] != '\0')
  15. {
  16. fgets(str, 100, stdin);
  17. i++;
  18. if (length < (int)strlen(str))
  19. length = strlen(str);
  20. fprintf(T1, "%s", str);
  21. }
  22. i--;
  23. fclose(T1);
  24. T1 = fopen("text1.txt", "r");
  25. T2 = fopen("text2.txt", "w");
  26. while (!feof(T1))
  27. fputc(fgetc(T1), T2);
  28. fclose(T1);
  29. fclose(T2);
  30. }

Решение задачи: «Перенос текста из одного файла в другой»

textual
Листинг программы
  1. strcpy(strs[i], str);
  2. fprintf(T1, "%s", strs[i]);//Запись в файл 1
  3. ++i;

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

  1. Создается массив строк типа char с именем strs размером n.
  2. В каждой ячейке массива strs[i] копируется строка str.
  3. Открывается файл T1 для записи (в режиме w).
  4. В файл T1 записывается содержимое каждой ячейки массива strs[i] с помощью функции fprintf.
  5. Увеличивается значение i на единицу для перехода к следующей ячейке массива.

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


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

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

12   голосов , оценка 4.333 из 5

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

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

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