11
不同的平臺使用不同的行分隔符方案(LF,CR-LF,CR,NEL,Unicode LINE SEPARATOR等)。 C++(和C)運行時庫通過將'\n'
轉換爲目標平臺的本地新線路編碼並將其轉換爲大多數程序透明化。但是如果你的程序需要確定使用的實際字節序列,那麼你怎樣才能移植它呢?確定平臺行分隔符的便攜方式
我想出最好的方法是:
- 寫在文本模式下的臨時文件,只是在
'\n'
它,讓運行時做翻譯。 - 以二進制模式回讀臨時文件以查看實際字節。
這感覺很糟糕。有沒有辦法做到沒有臨時文件?我嘗試使用stringstreams,但運行時實際上並未在該上下文中翻譯'\n'
(這很有意義)。運行時是否以其他方式公開這些信息?