Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Скопировать один файл в конец второго / 6 сообщений из 6, страница 1 из 1
09.12.2004, 15:33
    #32821203
DenisKB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скопировать один файл в конец второго
Добрый день!
Мне нужно используя win32 api,
скопировать один файл в конец другого файла.
Подскажите пожалуйста, как это сделать!
Заранее, спасибо!
...
Рейтинг: 0 / 0
09.12.2004, 16:12
    #32821340
roman10
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скопировать один файл в конец второго
Проще всего сделать коммандой:
copy /b a.txt + b.txt c.txt
...
Рейтинг: 0 / 0
09.12.2004, 16:15
    #32821354
DenisKB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скопировать один файл в конец второго
К сожалению, мне нужно ReadFile, WriteFile и так далее
...
Рейтинг: 0 / 0
09.12.2004, 16:56
    #32821512
mustlive
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скопировать один файл в конец второго
Открываешь оба файла, один на чтение, другой на добавление. Мотаешь в конец первого, читаешь второй через буфер и дописываешь в первый.
...
Рейтинг: 0 / 0
09.12.2004, 16:59
    #32821523
DenisKB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скопировать один файл в конец второго
Мне никогда раньше win32 использовать не приходилось, не могли бы Вы привести пример кода?
Заранее спасибо!
...
Рейтинг: 0 / 0
09.12.2004, 17:19
    #32821576
mustlive
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скопировать один файл в конец второго
Ну, если только примерно...

HANDLE h1,h2;

h1=CreateFile( "file1.txt",GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
h2=CreateFile( "file2.txt",GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);

Долго писать, см. описания Вынь32. Короче, хэндлы у тебя есть, потом h2 делаешь ReadFile(...) в буфер(лучше в цикле, не один раз, т.к. файл может быть большой а буфер не резиновый), а h1 мотаешь в конец с помощью SetEndOfFile и делаешь WriteFile

В конце не забудь сделать CloseHandle для обоих

Вот это тебе должно помочь:
BOOL ReadFile(

HANDLE hFile, // handle of file to read
LPVOID lpBuffer, // address of buffer that receives data
DWORD nNumberOfBytesToRead, // number of bytes to read
LPDWORD lpNumberOfBytesRead, // address of number of bytes read
LPOVERLAPPED lpOverlapped // address of structure for data
);


BOOL WriteFile(

HANDLE hFile, // handle to file to write to
LPCVOID lpBuffer, // pointer to data to write to file
DWORD nNumberOfBytesToWrite, // number of bytes to write
LPDWORD lpNumberOfBytesWritten, // pointer to number of bytes written
LPOVERLAPPED lpOverlapped // pointer to structure needed for overlapped I/O
);

BOOL SetEndOfFile(

HANDLE hFile // handle of file whose EOF is to be set
);

BOOL CloseHandle(

HANDLE hObject // handle to object to close
);
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Скопировать один файл в конец второго / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]