C ++ IO流的哪个部分执行
更新1
你们都说是在streambuf/filebuf中完成的。好的。但是这种安排如何处理诸如UTF-16之类的外部编码?然后,似乎必须使用
\r
到\r\n
转换?是stream_buf
本身还是codecvt
facet的内部到外部编码转换的一部分?更新1
你们都说是在streambuf/filebuf中完成的。好的。但是这种安排如何处理诸如UTF-16之类的外部编码?然后,似乎必须使用
ios::binary
标志打开文件以禁用转换。
\n
转换为\r\n
吧?通常从可移植代码中得到的是\n
,你需要在“类似于Windows”的表示中添加换行符。 - πάντα ῥεῖ\r
与所使用的字符编码无关,它仍然是一个额外的字符。\r
控制终端写入光标以便于某些终端从第0列开始。而codecvt
则控制用于编码单个字符的字节数。 - πάντα ῥεῖ