2010-04-23 1 views
1

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

Любые идеи? Заранее спасибо!

+0

См. the MSDN example. Вам также может потребоваться ссылка функции CreateFile. –

ответ

2

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

+0

interjay, это пункт! :) спасибо – Bruce