CR + LF和LF与CR之间的C ++ stdin和stdout转换

时间:2013-05-30 09:00:08

标签: c++ linux windows stdin lf

好的我打算制作一个文件来存储我将导入程序的数据。该程序将针对Linux,Windows和可能的Mac进行编译。

现在我真正想知道的是,由于这些文件中的换行符,我是否需要这些数据文件略有不同,或者stdin对我所使用的系统不太挑剔?

是不是有问题?如果是这样,克服这些问题的正确方法是什么?还有其他问题我可能会在看吗?

1 个答案:

答案 0 :(得分:0)

如果用户不打算阅读该程序,只需确保以与输入相同的格式输出该程序。在这种情况下,使用二进制格式可能更容易。

无论如何,请确保将流设置为二进制,否则Windows可能会将\ n扩展为\ r \ n以用于文本流。

或者,对于用户读取的文本文件,以平台无关的方式克服此问题的最简单方法之一是贪婪地将所有相邻的\ r和\ n字符作为单行结尾使用,并且你不必担心如何输出它。