我正在尝试在C ++中的getline()函数中定义分隔符,如下所示:
getline(fin, title, '\r\n');
问题是它将其作为ASCII int
值而不是char
值。如何将其识别为char
,以便它将转到文件中的新行?
答案 0 :(得分:1)
只需将其视为
即可getline(fin, title, '\n');
然后删除' \ r'如果它存在于字符串中。例如
if ( !title.empty() && title.back() == '\r' ) title.erase( title.size() - 1 );
至于字符文字' \ r \ n'那么在任何情况下都没有意义将它与输入缓冲区中的字符进行比较。无论如何,他们将是不平等的。