writefile 追加内容

场景:WriteFile 追加内容,该如何处理

WriteFile 追加内容
用   WriteFile   在一个文件里追加内容?


给个小例子,要正确的.

------解决方案--------------------
默认只能追回到文件尾.
先用SetFilePointer把指针移支文件尾.
然后再写入就可以了.
------解决方案--------------------
先打开文件,然后SeekToEnd();
再调用 write
------解决方案--------------------
这个也需要代码,自己试试不就弄出来了
------解决方案--------------------
MSDN上
------解决方案--------------------
HANDLE hFile;

HANDLE hAppend;

DWORD dwBytesRead, dwBytesWritten, dwPos;

char buff[4096];

// Open the existing file.

hFile = CreateFile( "ONE.TXT ", // open ONE.TXT
GENERIC_READ, // open for reading
0, // do not share
NULL, // no security
OPEN_EXISTING, // existing file only
FILE_ATTRIBUTE_NORMAL, // normal file
NULL); // no attr. template

if (hFile == INVALID_HANDLE_VALUE)
{
ErrorHandler( "Could not open ONE. "); // process error
}

// Open the existing file, or if the file does not exist,
// create a new file.

hAppend = CreateFile( "TWO.TXT ", // open TWO.TXT
GENERIC_WRITE, // open for writing
0, // do not share
NULL, // no security
OPEN_ALWAYS, // open or create
FILE_ATTRIBUTE_NORMAL, // normal file
NULL); // no attr. template

if (hAppend == INVALID_HANDLE_VALUE)
{
ErrorHandler( "Could not open TWO. "); // process error
}

// Append the first file to the end of the second file.
// Lock the second file to prevent another process from
// accessing it while writing to it. Unlock the
// file when writing is finished.

do
{
if (ReadFile(hFile, buff, 4096, &dwBytesRead, NULL))
{
dwPos = SetFilePointer(hAppend, 0, NULL, FILE_END);
LockFile(hAppend, dwPos, 0, dwPos + dwBytesRead, 0);
WriteFile(hAppend, buff, dwBytesRead,
&dwBytesWritten, NULL);
UnlockFile(hAppend, dwPos, 0, dwPos + dwBytesRead, 0);
}
} while (dwBytesRead == 4096);

// Close both files.

CloseHandle(hFile);
CloseHandle(hAppend);