如何使用ifstream c ++从带有换行符的文件读取字符串



我用这段代码从文件中读取行,但我注意到,它没有读取换行符:

ifstream fs8(sourceFile);
string line;
while (getline(fs8, line))
{
   //here I am doing convertation from utf8 to utf16, but I need also to convert symbol "n"
}

如何阅读带换行符的行?

std::getline()读取数据直至不存储的分隔符。默认情况下,该分隔符为 'n' 。因此,您必须:

a( 选择一个不同的分隔符 - 但这样你就不会再读"行"。

b( 将换行符添加到读取的数据 ( line += 'n' (。

我会选择 b(,如果你真的需要转换换行符。(我不太明白为什么这是必要的,但我该评判谁。

最新更新