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

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

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

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

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

textual
Листинг программы
  1. FILE *fp1,*fp2;
  2. fp1 = fopen("1.txt","rb");
  3. fp2 = fopen("2.txt","wb");
  4. const int size=256;
  5. char mas[size];
  6. size_t read;
  7. while((read = fread(mas,sizeof(char),size,fp1)) != 0)
  8. {
  9.    fwrite(mas,sizeof(char),read,fp2);
  10. }
  11. fclose(fp1);
  12. 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

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

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

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