Проблема при копировании содержимого файла - C (СИ)

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

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

Доброго времени суток! Помогите советом. Имеется два текстовых файла. Требуется скопировать содержимое одного в другой. Вот код который меня изнюряет уже второй день:
FILE *out,*out1;
out=fopen("C:\\1.txt","r");
out1=fopen("c:\\2.txt","wt");
char *st[1000];
while(feof(out)==0)
{
fread(st,sizeof(out),sizeof(out),out);
fwrite(st,sizeof(out),sizeof(out),out1);
};
fclose(out);
fclose(out1);
}
Проблема такая. Копирование из текстового файла 1.txt в 2.txt происходит, но частично. Почему не получается скопировать содержимое полностью. У меня половина текстового файла урезается почему то и записывается в 2.txt. В чем проблема? Помогите советом.. Так же я пробовал такой код, но результат абсолютно такой же:
FILE *fp1,*fp2;
fp1 = fopen("1.txt","r");
fp2 = fopen("2.txt","w+");
const int size=256;
char mas[size];
size_t read;
while((read = fread(mas,1,size,fp1)) != 0)
{
fwrite(mas,1,read,fp2);
}
fclose(fp1);
fclose(fp2);
В чем может быть дело? Почему содержимое копируется не полностью?

Решение задачи: «Проблема при копировании содержимого файла»

textual
Листинг программы
FILE *fp1,*fp2;
fp1 = fopen("1.txt","rb");
fp2 = fopen("2.txt","wb");
const int size=256;
char mas[size];
size_t read;
while((read = fread(mas,sizeof(char),size,fp1)) != 0)
{
   fwrite(mas,sizeof(char),read,fp2);
}
fclose(fp1);
fclose(fp2);

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

  1. Объявляются две переменные типа FILE * — fp1 и fp2, которые будут использоваться для работы с файлами.
  2. С помощью функции fopen открывается файл 1.txt в режиме чтения (rb) и файл 2.txt в режиме записи (wb).
  3. Объявляется константа size равная 256.
  4. Создается массив типа char с именем mas размером 256 элементов.
  5. В цикле while с помощью функции fread считываются данные из файла 1.txt в массив mas.
  6. В каждой итерации цикла считанные данные записываются в файл 2.txt с помощью функции fwrite.
  7. После окончания цикла закрываются файлы fp1 и fp2 с помощью функции fclose.

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


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

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

9   голосов , оценка 4.111 из 5
Похожие ответы