HANDLE hFile;
hFile = CreateFile("text1.txt",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if ( INVALID_HANDLE_VALUE != hFile )
{
struct _stat buf;
int nSize = 0;
_wstat(strFile,&buf);
nSize = buf.st_size;
char* cBuffer= new char[nSize];
DWORD dReadByte;
ReadFile( hFile,cBuffer,nSize,&dReadByte,NULL);
CString strFileText(cBuffer);
delete *cBuffer;
wofstream ofstr("text2.txt");
if ( ofstr != NULL )
{
ofstr.write(strFileText.GetBuffer(strFileText.GetLength()),strFileText.GetLength());
}
ofstr.close();
}
怎么最后保存的文件比原来的文件会丢失一部分内容?????
解决方法:CString 换为CStringA,因为CString为宽字符,所以保存后会有一部分内容丢失.wofstream换成ofstream
字符长度使保存没有完全保存.