文本文件的读写 正确的文本文件读写过程 1.定义文件变量;2.打开指定的文件;3.向从文本文件中写入信息;4.从文本文件中读取信息;5.关闭文件 1 、定义文件变量 定义文件变量格式:CStdioFile 文件变量; 例如,定义一个名称为 f1 的文件变量,语句如下:CStdioFile f1; 2 、打开指定文件 可以直接通过CStdioFile 的构造函数来打开磁盘文件,同时可以用标志位指定打开方式(只读、只写、读写等): CStdioFile(LPCTSTR lpszFileName,UINT nOpenFlags); 其中,lpszFileName 表示要打开的文件名,可以是相对路径或绝对路径 nOpenFlags 设置文件打开方式标志位,可以指定用“|”连接多个标志位。下面是常用的打开标志: CFile::typeText:以文本文件的形式打开文件 CFile::typeBinary:以二进制文件的形式打开文件 CFile::modeCreate:如果指定文件名的文件不存在,则新建文件;如果文件存在并且没有设置 CFile::modeNoTruncate 标志,则清空文件。 CFile::modeNoTruncate:如果文件存在,不把它的长度删除为 0(即不清空文件中的数据)。 CFile::modeRead:以只读方式打开文件 CFile::modeReadWrite:以可读可写方式打开文件 CFile::modeWrite:以只写方式打开文件 CFile::shareDenyNone:文件打开后,不禁止其他进程对文件的读写操作 CFile::shareExclusive:文件打开后,禁止其他进程对文件的读写操作 CFile::shareDenyRead:文件打开后,禁止其他进程对文件的读操作 CFile::shareDenyWrite:文件打开后,禁止其他进程对文件的写操作 此外,可以不在构造函数中打开文件,而仅仅调用空的构造函数 CStidoFile(),然后用CStdioFile::Open()打开文件。Open 函数的前两个参数和非空构造函数的参数相同,其声明如下: BOOL Open(LPCTSTR lpszFileName,UINT nOpenFlags,CFileException* pError=NULL); 第3 个参数与打开失败时的异常处理有关。 实例 1 :以只读方式打开一个文件 步骤: 使用 AppWizard 创建一个对话框应用程序,删除其自动产生的所有控件,添加一个Button控件。双击控件,在相应的函数里添加代码: char * pszFileName="C:\\myfile.txt"; CStdioFile myFile; CFileException fileException; if(!myFile.Open(pszFileName,CFile::modeCreate|CFile::typeText|CFile::modeRead),&fileException) { TRACE("Can't open file %s, error = %u\n",pszFileName,fileExcepti...