Переписать текст из одного файла в другой - 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);

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

  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
Похожие ответы