Переписать текст из одного файла в другой - C (СИ)
Формулировка задачи:
всем привет вот имеется прога, которая из одного txt-шного файла переводит текст в другой! все работает хорошо, но с достаточно маленьким первым файлом! вопрос: что надо добавить в коде, чтобы переводились файлы, не зависимые от их размера! (чтоб вся "война и мир" перевелась)
#include <stdlib.h> #include <stdio.h> #include <iostream> #include <conio.h> void LoadFile(char *file); void ResultFile(char *file); int main(){ setlocale(LC_ALL, "rus"); char file[100]={NULL}; LoadFile(file); ResultFile(file); printf("программа перевод закончила!"); getch(); } void LoadFile (char *file) { int i=0; FILE *FIRST; if(!(FIRST = fopen("input.txt", "r"))) return; while (!feof( FIRST )) { fscanf(FIRST, "%c", &file[i]); i++; } file[i]='\0'; fclose(FIRST); } void ResultFile(char *file) { FILE *SECOND=fopen("output.txt","w"); fprintf (SECOND, "%s", file); }
Решение задачи: «Переписать текст из одного файла в другой»
textual
Листинг программы
FILE *in; FILE *out; if((in=fopen("test.txt","r"))==NULL) { cout<<"bug1"; cin.get(); return 0; } if((out=fopen("dest.txt","w"))==NULL) { cout<<"Bug2"; cin.get(); return 0; } while(true) { int ch=getc(in); if(ch==EOF)break; putc(ch,out); } fclose(in); fclose(out);
Объяснение кода листинга программы
FILE *in;
- объявление переменной типаFILE*
для открытия файлаtest.txt
на чтениеFILE *out;
- объявление переменной типаFILE*
для открытия файлаdest.txt
на запись- Проверка на успешное открытие файла
test.txt
с помощью функцииfopen
. Если файл не удалось открыть, выводится сообщение об ошибкеcout<<
bug1;
и программа завершается с помощьюreturn 0;
. - Проверка на успешное открытие файла
dest.txt
с помощью функцииfopen
. Если файл не удалось открыть, выводится сообщение об ошибкеcout<<
Bug2;
и программа завершается с помощьюreturn 0;
. - Бесконечный цикл
while(true)
, который будет выполняться до тех пор, пока не достигнет конца файлаtest.txt
. - В каждой итерации цикла считывается один символ из файла
test.txt
с помощью функцииgetc(in)
. - Считанный символ записывается в файл
dest.txt
с помощью функцииputc(ch,out)
. - После достижения конца файла
test.txt
, закрываются файлыin
иout
с помощью функцииfclose
. - Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д