1

厄介な問題が発生しました。テキスト ファイルにテキストを追加できません。書き込み用に開くたびに、データを上書きします。ファイル ポインタをファイルの末尾に移動しようとしましたが、結果はありません (ファイルへの書き込みはまったくありません)。コードは次のとおりです。

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

何か案は?前もって感謝します!

4

1 に答える 1

2

edx呼び出し前の値を設定しSetFilePointer、呼び出し後に使用します。ただし、Windows API関数は、レジスタstdcallを保持することが保証されていない呼び出し規約を使用するedxため、その中の値は破棄され、WriteFileの呼び出しは失敗します。

于 2010-04-23T20:09:27.940 に答える