3 回答

慕哥9229398
TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個(gè)贊
在Linux和Unix在一般情況下,"r"和"rb"是相同的。更具體地說(shuō),在文本模式和二進(jìn)制模式下FILE通過(guò)fopen()對(duì)文件進(jìn)行訪問(wèn)而獲得的指針在Unix上的行為相同。在Windows上,通常,在使用多個(gè)字符表示“ 換行符 ”的系統(tǒng)上,以文本模式打開(kāi)的文件的行為就好像所有這些字符只是一個(gè)字符一樣'\n'。
如果要在任何系統(tǒng)上可移植地讀/寫(xiě)文本文件,請(qǐng)使用"r"和"w"中的fopen()。這樣可以保證文件被正確地讀寫(xiě)。如果要打開(kāi)二進(jìn)制文件,請(qǐng)使用"rb"和"wb",這樣不幸的換行符翻譯不會(huì)弄亂您的數(shù)據(jù)。
請(qǐng)注意,底層系統(tǒng)為您執(zhí)行換行翻譯的結(jié)果是,您無(wú)法確定使用fseek(file,0,SEEK_END)從文件中讀取的字節(jié)數(shù)。
添加回答
舉報(bào)
0/150
提交
取消