您的位置:首页 > 其它

MFC--CStdioFile类和CFile类的区别

2013-09-25 00:03 218 查看
一.

CFile类操作文件默认的是Binary模式,CStdioFile类操作文件默认的是Text模式。

在Binary模式下我们必须输入'\r\n',才能起到回车换行的效果,'\r'只是回车(回到当前行的第一列),'\n'只是换行(到达下一行的当前列)。

而在Text模式下'\r'的工作是自动完成的,当我们写一个'\n'的时候,系统会自动帮我们在其前面加上一个'\r',然后保存到文件里。

另外,CFile::typeText只能在CFile的子类中使用,CFile自身的Read函数不能使用CFile::typeText和CFile::typeBinary

二.

File   是C和C++的函数! 

mfc中使用了CFile类进行相同的文件操作功能! 

CStdioFile继承了CFile   是CFile的子类,扩展了文本文件的操作,认识回车换行字符,可以进行一行字符串的读写! 
三.
Cfile类提供了基于二进制流的文件操作,功能类似于C语言中的fread()和fwrite()函数。CStdioFile提供了基于字符串流的文件操作,功能类似于C语言中的fgets()和fputs()函数。
四.
CStdioFile继承了CFile类,特有的函数是ReadString(),WriteString(),但是不支持Duplicate(),Lockrange(),UnLockRange(),相当于流式文件的操作
引用自:http://blog.163.com/ctct7833@126/blog/static/1616246902011591508188/
------------------
参考:
CStdioFile 有缓冲区;可以用来处理文本流(C/C++ fopen);当然也可以处理非文本格式的文件。

CFile 提供无缓冲取的文件处理,但没有自动处理文本流的功能(如 WriteString),不对 0x0d 和 0x0a 进行特殊处理。

引用自:http://bbs.csdn.net/topics/24147
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mfc