C ++ - 字符串中的跨平台换行符

时间:2016-01-21 03:58:03

标签: c++ string cross-platform

当需要字符串中的换行符时,我使用\n字符

 int main()
 {
     string str = "Hello world\n";
 }

\n跨平台吗?或者我是否需要使用宏来调整它在平台上的价值?

特别是当str将被写入文件或标准输出时。

3 个答案:

答案 0 :(得分:1)

只要您以文本模式读取/写入文本流或文件,' \ n'将被翻译成平台的正确顺序。

http://en.cppreference.com/w/c/io

答案 1 :(得分:0)

此外,如果您需要在Windows中保存的Unix中读取文件,反之亦然,可以使用此

success:function(re){
    $('#answer9 option[value="'+re.answ9+'"]').attr('selected', 'selected');
}

它将删除所有'\ r'和'\ n'

答案 2 :(得分:0)

另一种表达方式是“\ n”是编译器的跨平台。它将在所有平台上编译并为平台生成正确的输出。但是输出并不是真正的跨平台,因为文本中的新行在不同平台上是不同的。所以阅读需要额外的处理才能与平台无关。