C言語なら俺に聞け(入門編)Part 82

このエントリーをはてなブックマークに追加
441 ◆QZaw55cn4c
関係ないかもしれないけれども、
win32api で既存のファイルにある内容をアペンドしようとして、
SetFilePointer(, , ,FILE_END) -> WriteFile() すると、ゴミが混入してしまいました。
SetFilePointer(f, 0, NULL, FILE_END) でも SetFilePointer(f, 1, NULL, FILE_END) でもうまくいかない。もしかして -1? まさか‥‥‥。

苦肉の策として
s1 = GetFileSize(f, &s2);
SetFilePointer(f, s1, (PLONG)&s2, FILE_BEGIN);
WriteFile(f, p, strlen(p), &n, 0);
にしてしまったんですが、正解はなんでしょうか?