MFC文件读写技巧

 

 

一、读写文本文件

CStdioFile rfile,wfile;
if(rfile.Open(_T("c://dd.txt"),CFile::modeRead | CFile::typeText))
   return 1;
if(!wfile.Open(_T("c://ee.txt"),CFile::modeWrite|CFile::modeCreate|CFile::modeNoTruncate|CFile::typeText))
   return 1;
CString buf=_T("");
while(rfile.ReadString(buf))
{
   buf+=_T("/n");
   wfile.SeekToEnd();
   wfile.WriteString(buf);
}
rfile.Close();
wfile.Close();

注意:VS2005中CstdioFile::WriteString 有一个bug,如果用unicode方式编译,输出含中文的字符串时,将只输出中文前的串,该bug在VS2005SP1中还未得到修复,解决办法是在程序开始加入_wsetlocale(LC_CTYPE, L"CHS_CHN");
二、读写二进制文件

CFile rfile,wfile;
if(!rfile.Open(_T("c://notepad.exe"),CFile::modeRead))
   return 1;
if(!wfile.Open(_T("c://ee.exe"),CFile::modeCreate|CFile::modeWrite))
   return 1;
BYTE buf[1024];
UINT readed;
while((readed=rfile.Read(buf,1024))>0)
{
   wfile.Write(buf,readed);
}
rfile.Close();
wfile.Close();

 

参考资料:

http://hi.baidu.com/jarod17/blog/item/0a8492b7d6970df731add15a.html

你可能感兴趣的:(MFC文件读写技巧)