1、CStudioFile
CStdioFile
类提供了对标准文件 I/O 操作的封装,包括打开、读取、写入和关闭文件等功能。这个类位于 afx.h
头文件中,并且通常在进行文件操作时非常有用。
以下是 CStdioFile
类的一些常用方法和用法:
-
构造函数:
CStdioFile()
:默认构造函数,创建一个未关联到任何文件的CStdioFile
对象。CStdioFile(LPCTSTR lpszFileName, UINT nOpenFlags)
:根据文件名和打开标志打开文件。
-
成员函数:
BOOL Open(LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL)
:打开一个文件。BOOL ReadString(CString& rString)
:从文件中读取一行字符串。void WriteString(LPCTSTR lpsz)
:向文件写入一个字符串。void Close()
:关闭文件。CStdioFile file; if (file.Open(_T("myfile.txt"), CFile::modeRead)) { CString str; while (file.ReadString(str)) { // 处理每一行字符串 // 例如输出到控制台 _tprintf(_T("%s\n"), str); } file.Close(); }
这段代码演示了如何打开一个文本文件(myfile.txt
),逐行读取其中的内容并输出到控制台。在实际使用中,你可以根据需要使用不同的打开模式(如 CFile::modeWrite
或 CFile::modeReadWrite
)和其他操作来处理文件。
2、CFile
如果就用CFile估计得先判断'\r\n'的位置,再通过位置计算长度来获得了。但是可以用上方的方法,CStdioFile,是一种继承了CFile的读文件方式。
- 功能: CFile 是 MFC(Microsoft Foundation Class)中的一个类,用于文件的基本操作,如打开、关闭、读取、写入等。
- 特点: 提供了一组成员函数来处理文件的常规操作,例如 Open、Close、Read、Write 等。
- 示例: 下面是一个简单的示例,演示了如何使用 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 打开名为 "example.txt" 的文件,如果文件不存在则创建新文件,然后写入字符串 "Hello, CFile!\r\n"。