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

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

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

всем привет вот имеется прога, которая из одного txt-шного файла переводит текст в другой! все работает хорошо, но с достаточно маленьким первым файлом! вопрос: что надо добавить в коде, чтобы переводились файлы, не зависимые от их размера! (чтоб вся "война и мир" перевелась)
Листинг программы
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <iostream>
  4. #include <conio.h>
  5. void LoadFile(char *file);
  6. void ResultFile(char *file);
  7. int main(){
  8. setlocale(LC_ALL, "rus");
  9. char file[100]={NULL};
  10. LoadFile(file);
  11. ResultFile(file);
  12. printf("программа перевод закончила!");
  13. getch();
  14. }
  15. void LoadFile (char *file)
  16. {
  17. int i=0;
  18. FILE *FIRST;
  19. if(!(FIRST = fopen("input.txt", "r"))) return;
  20. while (!feof( FIRST ))
  21. {
  22. fscanf(FIRST, "%c", &file[i]);
  23. i++;
  24. }
  25. file[i]='\0';
  26. fclose(FIRST);
  27. }
  28. void ResultFile(char *file)
  29. {
  30. FILE *SECOND=fopen("output.txt","w");
  31. fprintf (SECOND, "%s", file);
  32. }

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

textual
Листинг программы
  1. FILE *in;
  2.     FILE *out;
  3.     if((in=fopen("test.txt","r"))==NULL) {
  4.         cout<<"bug1";
  5.         cin.get();
  6.         return 0;
  7.     }
  8.     if((out=fopen("dest.txt","w"))==NULL) {
  9.      cout<<"Bug2";
  10.      cin.get();
  11.      return 0;
  12.     }
  13.     while(true) {
  14.         int ch=getc(in);
  15.         if(ch==EOF)break;
  16.         putc(ch,out);
  17.     }
  18.     fclose(in);
  19.     fclose(out);

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

  1. FILE *in; - объявление переменной типа FILE* для открытия файла test.txt на чтение
  2. FILE *out; - объявление переменной типа FILE* для открытия файла dest.txt на запись
  3. Проверка на успешное открытие файла test.txt с помощью функции fopen. Если файл не удалось открыть, выводится сообщение об ошибке cout<<bug1; и программа завершается с помощью return 0;.
  4. Проверка на успешное открытие файла dest.txt с помощью функции fopen. Если файл не удалось открыть, выводится сообщение об ошибке cout<<Bug2; и программа завершается с помощью return 0;.
  5. Бесконечный цикл while(true), который будет выполняться до тех пор, пока не достигнет конца файла test.txt.
  6. В каждой итерации цикла считывается один символ из файла test.txt с помощью функции getc(in).
  7. Считанный символ записывается в файл dest.txt с помощью функции putc(ch,out).
  8. После достижения конца файла test.txt, закрываются файлы in и out с помощью функции fclose.
  9. Программа завершается.

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


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

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

10   голосов , оценка 4.4 из 5

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

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

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