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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2009, 21:44   #1
59inferno
Новичок
Джуниор
 
Регистрация: 14.06.2009
Сообщений: 1
По умолчанию копирование файлов

Всем привет!

У меня возникла проблема, которая требует скорейшего решения:
есть 2 файла А и В, с определенным форматом.Требуется в файл А дописать файл В, т.е. начиная с конца файла А, записать в него файл В.
Файлы одного формата(звуковые). как проще это сделать?
Пока что ничего не выходит, 1 вариант такой, что в нем не так?:


Код:
FILE *f_write = fopen("1.wa","w"); //запись
FILE *f_read = fopen("2.wa","r");//чтение

char tmp;

fseek(f_read,0,SEEK_SET);// на всяк случай в начало)

while (!feof(f_read)){
	fread (&tmp,sizeof(char),1,f_read);
	fwrite(&tmp,sizeof(char),1,f_write);
	
}

	fclose(f_write);
	fclose(f_read);
задачу можно упростить - скопировать файл А в новый файл В.

Последний раз редактировалось 59inferno; 14.06.2009 в 21:58.
59inferno вне форума Ответить с цитированием
Старый 14.06.2009, 21:49   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Открывайте файл на добавление:
Код:
FILE *f_write = fopen("1.wa","a"); //запись
Если хотите работать со звуковыми файлами, то нужно открывать их как бинарные:
Код:
FILE *f_write = fopen("2.mp3","ab");
FILE *f_read = fopen("1.mp3","rb");
И читать лучше блоками - быстрее будет.
Код:
char tmp[1000];
int cnt;

fseek(f_read,0,SEEK_SET);

while (!feof(f_read)){
	cnt = fread (&tmp,1,1000*sizeof(char),f_read);
	fwrite(&tmp,1,cnt*sizeof(char),f_write);

}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 14.06.2009 в 21:59.
Sazary вне форума Ответить с цитированием
Старый 15.06.2009, 22:01   #3
lennon
Заблокирован
 
Регистрация: 18.11.2007
Сообщений: 254
По умолчанию

Код:
FILE * fw = fopen("1.wa",rb+");
if (!fw)
{
 fw = fopen("1.wa",wb");
 fclose(fw); fw = fopen("1.wa",rb");
}
fseek(fw,0L,SEEK_END);

char buff[1024];
while (!feof(fr))
{
 int read = fread(&buff,sizeof(buff),1,fr);
 fwrite(&buff,read,1,fw);
}
fclose(fr);
fclose(fw);

Последний раз редактировалось lennon; 15.06.2009 в 22:03.
lennon вне форума Ответить с цитированием
Старый 16.06.2009, 00:30   #4
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

ну если если файл не как текст (подряд) а какой-то собый, ну типа сжатие там, или какие "указания" вначале (или в конце) файла, то так не получится.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 16.06.2009, 15:59   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от ROD
ну если если файл не как текст (подряд) а какой-то собый, ну типа сжатие там, или какие "указания" вначале (или в конце) файла, то так не получится.
Ну вот склеил две mp3-шки. Все воспроизводится. Правда, темп второго трека завышен )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование файлов VadEr Помощь студентам 4 06.04.2009 18:49
Копирование файлов ARXangel Общие вопросы Delphi 5 30.10.2008 12:29
копирование файлов matus Общие вопросы Delphi 2 07.11.2007 21:57
Копирование файлов Шеллер Алексей Общие вопросы Delphi 21 30.08.2007 17:34
Копирование файлов Devil_uu Помощь студентам 2 24.03.2007 20:27