c ++中的新行错误

时间:2014-04-16 18:18:08

标签: c++ delimiter getline

我正在尝试在C ++中的getline()函数中定义分隔符,如下所示:

getline(fin, title, '\r\n');

问题是它将其作为ASCII int值而不是char值。如何将其识别为char,以便它将转到文件中的新行?

1 个答案:

答案 0 :(得分:1)

只需将其视为

即可
getline(fin, title, '\n');

然后删除' \ r'如果它存在于字符串中。例如

if ( !title.empty() && title.back() == '\r' ) title.erase( title.size() - 1 );

至于字符文字' \ r \ n'那么在任何情况下都没有意义将它与输入缓冲区中的字符进行比较。无论如何,他们将是不平等的。