Как добавить текст к текстовому файлу в WinAPI?

У меня есть раздражающая проблема, я не могу добавить текст к текстовому файлу. Каждый раз, когда я открываю его для записи, я перезаписываю данные. Я пытался переместить указатель файла в конец файла, но никакой результат (никакая запись в файл вообще). Вот код:

INVOKE CreateFile, offset filePath, GENERIC_WRITE, FILE_SHARE_WRITE, 0, OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,0
mov hFile, eax
mov edx, 10
INVOKE SetFilePointer, hFile, 0, 0, FILE_END
INVOKE WriteFile, hFile, offset buffer, edx, ADDR SizeReadWrite, NULL
INVOKE CloseHandle, hFile

Какие-либо идеи?Заранее спасибо!

1
задан interjay 23 April 2010 в 20:10
поделиться

1 ответ

Вы устанавливаете значение edx перед вызовом SetFilePointer и используете его после вызова. Однако функции Windows API используют соглашение о вызовах stdcall , которое не гарантирует сохранение регистра edx , поэтому значение в нем уничтожается, и вызов WriteFile завершается неудачно.

2
ответ дан 3 September 2019 в 01:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: