什么使二进制流特殊?

Max*_*xpm 3 c++ binary text fstream file

std::fstream可以选择将流视为二进制,而不是文本.有什么不同?

据我所知,这一切都取决于文件在其他程序中的打开方式.如果我写入A二进制流,它将被转换为01000001(65,AASCII码) - 完全相同的表示.这可以读作文本编辑器中的字母"A",或01000001其他程序的二进制序列.

我错过了什么,或者流是否被认为是二进制没有任何区别?

Fre*_*Foo 5

在文本流中,换行符可以与字符进行转换\n; 使用二进制流,这不会发生.原因是不同的操作系统有不同的存储换行符约定; Unix使用\n,Windows \r\n和老式Mac使用\r.对于使用文本流的C++程序,这些都显示为\n.