资源描述:
《mfc文件读写63117》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MFC文件读写631171、定义文件变量定义文件变量格式:CStdioFile文件变量;例如,定义一个名称为f1的文件变量,语句如下:CStdioFilef1;2、打开指定文件可以直接通过CStdioFile的构造函数来打开磁盘文件,同时可以用标志位指定打开方式(只读、只写、读写等):CStdioFile(LPCTSTRlpszFileName,UINTnOpenFlags);其中,lpszFileName表示要打开的文件名,可以是相对路径或绝对路径nOpenFlags设置文件打开方式标志位,可以指定用“
2、”连接
3、多个标志位。下面是常用的打开标志:CFile::typeText:以文本文件的形式打开文件CFile::typeBinary:以二进制文件的形式打开文件CFile::modeCreate:如果指定文件名的文件不存在,则新建文件;如果文件存在并且没有设置CFile::modeNoTruncate标志,则清空文件。CFile::modeNoTruncate:如果文件存在,不把它的长度删除为0(即不清空文件中的数据)。CFile::modeRead:以只读方式打开文件CFile::modeReadWrite:以可读可写
4、方式打开文件CFile::modeWrite:以只写方式打开文件CFile::shareDenyNone:文件打开后,不禁止其他进程对文件的读写操作CFile::shareExclusive:文件打开后,禁止其他进程对文件的读写操作CFile::shareDenyRead:文件打开后,禁止其他进程对文件的读操作CFile::shareDenyWrite:文件打开后,禁止其他进程对文件的写操作此外,可以不在构造函数中打开文件,而仅仅调用空的构造函数CStidoFile(),然后用CStdioFile::Open()
5、打开文件。Open函数的前两个参数和非空构造函数的参数相同,其声明如下:BOOLOpen(LPCTSTRlpszFileName,UINTnOpenFlags,CFileException*pError=NULL);第3个参数与打开失败时的异常处理有关。实例1:以只读方式打开一个文件步骤:使用AppWizard创建一个对话框应用程序,删除其自动产生的所有控件,添加一个Button控件。双击控件,在相应的函数里添加代码:char*pszFileName="C:\myfile.txt";CStdioFilemyFi
6、le;CFileExceptionfileException;if(!myFile.Open(pszFileName,CFile::modeCreate
7、CFile::typeText
8、CFile::modeRead),&fileException){TRACE("Can'topenfile%s,error=%u",pszFileName,fileException.m_cause);}运行结果:如果C:下没有myfile.txt文件,则新生成该文件。3.向从文本文件中写入信息CStdioFile提供了函数
9、WriteString来向文本文件中写入文本,WriteString函数的格式如下:voidWriteString(LPCTSTRlpsz);WriteString的参数lpsz是一个以” ”字符结束的字符串,要把这个字符串的内容写入文件。提示:使用WriteString函数时,如果希望每执行一次WriteString,文本文件中的内容就会自动换行一次,那么就需要在需要换行的地方输出“”:myFile.WriteString(“第1行”);实例2:向文件中写入文本建立MFC基于对话框的程序,删除自动添加
10、的所有控件,添加一个“确定”按钮,双击按钮,按默认添加事件函数,双击按钮,在相应的函数处添加如下代码:char*pszFileName="C:\myfile.txt";CStdioFilemyFile;CFileExceptionfileException;if(myFile.Open(pszFileName,CFile::typeText
11、CFile::modeCreate
12、CFile::modeReadWrite),&fileException){myFile.WriteString("第1行");CS
13、tringstrOrder;strOrder.Format("%d,%.3f",66,88.88);myFile.WriteString(strOrder);}else{TRACE("Can'topenfile%s,error=%u",pszFileName,fileException.m_cause);}程序运行结果:C:myfile.txt文件中内容如下:第1行