CFile和CStdioFile的区别以及‘\r’、‘\r\n’
轉(zhuǎn)自:http://blog.csdn.net/davidhsing/archive/2007/08/26/1759494.aspx
MSDN:
Difference between text mode file and binary mode file
File I/O operations take place in one of two translation modes, text or binary, depending on the mode in which the file is opened. Data files are usually processed in text mode. To control the file translation mode, you can:
a. Retain the current default setting and specify the alternative mode only when you open selected files.
b. Change the default translation mode directly by setting the global variable _fmode in your program. The initial default setting of _fmode is _O_TEXT, for text mode.
Text mode provides special processing for carriage return–linefeed pairs. When you write a newline character (0x0A) to a text-mode CStdioFile object, the byte pair (0x0D, 0x0A) is sent to the file. When you read, the byte pair (0x0A, 0x0D) is translated to a single 0x0A byte.
Note:
CStdioFile::ReadString
The CString version of this function removes the '/n' if present; the LPTSTR version does not.
說明:
這幾段MSDN中的文字(來自主題:CStdioFile::ReadString)說明的問題是:
?
CFile類操作文件默認的是Binary模式,CStdioFile類操作文件默認的是Text模式。
在Binary模式下我們必須輸入'\r\n',才能起到回車換行的效果,'\r'只是回車(回到當(dāng)前行的第一列),'\n'只是換行(到達下一行的當(dāng)前列)。
而在Text模式下'\r'的工作是自動完成的,當(dāng)我們寫一個'\n'的時候,系統(tǒng)會自動幫我們在其前面加上一個'\r',然后保存到文件里。
另外,CFile::typeText只能在CFile的子類中使用,CFile自身的Read函數(shù)不能使用CFile::typeText和CFile::typeBinary
轉(zhuǎn)載于:https://www.cnblogs.com/qinfengxiaoyue/archive/2013/01/31/2888293.html
總結(jié)
以上是生活随笔為你收集整理的CFile和CStdioFile的区别以及‘\r’、‘\r\n’的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌Android系统在美成宠儿
- 下一篇: 程序员减轻压力的十个建议