我正在逐行读取文件,并将每行添加到一个字符串中。但是,我发现每行的字符串长度增加了1,我认为这是由于换行符造成的。如何避免将其复制到字符串中。
以下是我尝试实现相同功能的代码。
if (inputFile.is_open())
{
{
string currentLine;
while (!inputFile.eof())
while( getline( inputFile, currentLine ) )
{
string s1=currentLine;
cout<<s1.length();
}
[更新的描述] 我使用notepad++逐行确定我所选择的长度。所以他们显示一些123、450、500、120,我的程序显示为124、451、501、120。除了最后一行外,所有的line.length()都显示增加了1个值。
std::getline()
会丢弃换行符。你如何确定预期的行长度? - hmjdstd::getline()
读取的行长度,与您预期的不同。 - hmjd