C++,MFC使用Cfile类文件读写的一个例程。
操作包括:
- CSV文件“,”分隔内容
- 文件换行操作
- 文件末尾位置查找
- 文件写入
官方文件参考:
https://docs.microsoft.com/en-us/cpp/mfc/reference/cfile-class?view=vs-2019#abort
定义一个CFile文件类:m_cfile
strPath =".\\video.\\squeeze.CSV";//定义路径和文件格式
if(strPath.Right(4)!=".CSV")
strPath +=".CSV";//检查文件格式是否正确
CFile m_cfile(_T(strPath),CFile::modeCreate|CFile::modeWrite);//创建并打开文件m_cfile
通过Cfile.write写入文件内容:(此时文件已经打开(运行 CFile m_cfile(_T(strPath),CFile::modeCreate|CFile::modeWrite后)))
CString strText="";
strText = "总序列,悲伤序列,平静序列,高兴序列";
char pbufWrite[100];//定义的缓冲区
strcpy(pbufWrite,strText);//将string写入缓冲区
m_cfile.Write(pbufWrite,strText.GetLength());//写入m_cfile文件
m_cfile.Write(_T("\r\n"),2);//换行
m_cfile.Close();//关闭文件
使用Cfile.open打开后再次通过cfile.write写入内容:
m_cfile.Open(_T(".\\video.\\squeeze.CSV"), CFile::modeReadWrite);//打开文件
m_cfile.SeekToEnd();//寻找文件末尾
m_cfile.Write(_T("\r\n"),2);//换行
strset(pbufWrite,0);//缓冲区清零
strText0 = "11,20";/设置新字符
strcpy(pbufWrite,strText0);//新字符写入缓冲区
m_cfile.Write(pbufWrite,strText0.GetLength());//写入m_cfile文件
m_cfile.Close();//关闭文件
- 关于文件创建模式:
CFile m_cfile(_T(strPath),CFile::modeCreate|CFile::modeWrite))//创建新文件,覆盖原来的。
CFile m_cfile(_T(strPath),CFile::modeNoTruncate|CFile::modeWrite))//文件存在,打开继续编写。
CFile::modeCreate:
如果不存在文件,则创建一个新文件。如果该文件已经存在,则将其覆盖并最初设置为零长度。
CFile::modeNoTruncate:
如果不存在文件,则创建一个新文件。否则,如果文件已经存在,则将其附加到CFile对象。