Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.07.2016, 15:44   #1
usovi4
Новичок
Джуниор
 
Регистрация: 10.03.2016
Сообщений: 2
По умолчанию Перезапись содержимого бинарного файла

Всем доброго времени!

Решил написать небольшую программу, которая будет копировать содержимое одного бинарного файла (file_1) в другой бинарный файл (file_2), используя побайтовое чтение и запись.

Проблема собственно в том, что содержимое файла, в который перезаписываем байты, не совпадает с оригинальным файлом. Использовал файл с расширением .jpg.

Подскажите где ошибка, чего не хватает для нормального копирования?

Код:
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

void main()
{

	char *filename_1 = "e:\\file_1.jpg";
	char *filename_2 = "e:\\file_2.jpg";
	int a;

	FILE *f1, *f2;

	f1 = fopen(filename_1, "rb"); // поток_1 для чтения файла_1
	f2 = fopen(filename_2, "wb"); // поток_2 для записи в файл_2

	fseek(f1, 0, SEEK_END);
	long fSize = ftell(f1); // определяем размер файла_1 в байтах
	fseek(f1, 0, SEEK_SET); // возвращаем указатель в начало

	for (int i = 0; i < fSize / 4; i++) // цикл перезаписи
	{
		fread(&a, sizeof(double), 1, f1); // читаем из файла_1
		fwrite(&a, sizeof(int), 1, f2); // записываем в файл_2
	}
	
	fclose(f1);
	fclose(f2);

	system("pause");
}
Результат. Файл №2 не открывается и его содержимое, если посмотреть через редактор кода, отличается.
Снимок.JPG
usovi4 вне форума Ответить с цитированием
Старый 25.07.2016, 15:52   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
Подскажите где ошибка
Код:
fread(&a, sizeof(double), 1, f1); // читаем из файла_1
fwrite(&a, sizeof(int), 1, f2); // записываем в файл_2
p51x вне форума Ответить с цитированием
Старый 25.07.2016, 16:01   #3
usovi4
Новичок
Джуниор
 
Регистрация: 10.03.2016
Сообщений: 2
По умолчанию

Спасибо! Я тут из за этой ошибки по невнимательности уже 2 часа мучаюсь, теперь все работает как надо))
usovi4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Случайная перезапись файла alexsampler Microsoft Office Excel 5 06.08.2012 15:14
Как отменить перезапись файла xRamzeSx Общие вопросы Delphi 2 10.06.2012 14:00
Перезапись файла в MFC nazavrik Visual C++ 15 13.02.2010 13:29
Перезапись файла без путя или определение расположения файла программы The Best Общие вопросы Delphi 4 13.07.2009 22:50
Перезапись файла в текущей позиции Андрей= Общие вопросы Delphi 2 08.05.2008 17:19