http://www.cpphelp.net/faq/Q5-1-3.htmlC++標準庫提供了基于輸入/輸出流機制的文件操作,叫做文件流(File Stream)。打開文件的時候,可以用參數(shù)制定按照二進制方式還是文本方式。
然而,可能與你的想象不同的是,這里的二進制或者文本與文件的格式并沒有任何關系,而是文件流操作時對數(shù)據(jù)的表達方式。
文本方式和二進制方式的最大區(qū)別在于文本方式對于‘\n‘換行符的理解不同,在DOS平臺下,該字符會被展開成<CR><LF>兩個控制字符(相當于"\r\n"),在ASCII字符集下是0DH,0AH,而在UNIX平臺下,僅僅是<LF>,不會展開。而在二進制方式下,不管是什么平臺,‘\n‘都是精確的<LF>。
而類似于一個數(shù)學上的數(shù)字128,會在文件中以什么樣的格式存儲,是以數(shù)字形式存儲(80H),還是對應的可讀文本(‘1‘,‘2‘,‘8‘),卻和文件流的打開方式無關。
在C++的文件流中,使用的術語叫做格式化輸入輸出操作和無格式化操作,前者也就是<<和>>運算符,將數(shù)字按照可讀文本存儲,后者是get/put成員函數(shù),直接存儲數(shù)字格式。
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請
點擊舉報。