CFile写文件
基本的写文件采用的是文件流,举个栗子:
CFile m_file; //建立一个CFile对象
//打开文件,如果不存在该文件就创建文件
if(!file.Open("file.txt",CFile::modeCreate|CFile::modeWrite))
{
AfxMessageBox( "can not open file! ");
return false;
}
CString output = "Life is Beautiful.";
m_file.Write(output,strlen(output));
file.Flush(); //将在缓冲区中的字符写入文件中
file.Close(); //关闭文件
return true;
如果遇到目录未创建的,可以在前面判断下并创建所需目录,CFile中不能自动创建目录。注意目录的写法是双斜杠。
CFileFind finder;
if(!finder.FindFile("D://temp"))
CreateDirectory("D://temp",NULL);
CFile读文件
逐行读文件,如果就用CFile估计得先判断'\r\n'的位置,再通过位置计算长度来获得了。但是可以用CStdioFile,是一种继承了CFile的读文件方式。
CStdioFile inFile; inFile.Open(fileName,CFile::modeRead); CString text while(inFile.ReadString(text)) { } inFile.Close();
数据流读文件