二进制文件和ASCII文件 ASCII文件可移植,当需要转换才能输出 如:char ch='5'; int integer=ch-'0'; cout<<"integer"<<integer; 二进制文件不需要转换,当不能在终端或打印机上直接打印,不可移植。 行结束问题: unix以<line feed>作为行结束符, 而window以<carrige return><line feed>作为结束符。要写入二进制数据,必须使用二进制选项打开文件: out_file.open("test.out",std::ios::out|std::ios::binary); 非缓冲区文件读写,对系统调用会消耗大量资源,只有在读取或写入大量二进制数据,或对设备,文件进行直接控制时,才使用。 open() read() write() close() C++输入输出缓冲所有的输出结果。cout,cerr是行缓冲,每还一次行就进行一次缓冲区刷新。

评论