gpt4 book ai didi

c++ - while(getline()) 在最后一次通过后没有空字符串的循环

转载 作者:行者123 更新时间:2023-11-28 05:40:21 26 4
gpt4 key购买 nike

所以每次我使用 while 循环从文件中读取字符串时,总会有一个额外的空字符串最后处理。 ifstream fin("A7infile.txt");

while(getline(fin,line))
{
cout<<"Original Line: "<<line<<endl<<endl;
breakup(line,first,middle,last);
cout<<first<<" :is first"<<endl;
cout<<middle<<" :is middle"<<endl;
cout<<last<<" :is last\n"<<endl;
neww=makealpha(first,middle,last);
cout<<neww<<" :is the alphabetized line\n"<<endl;
}
fin.close();
return 0;

这就是我所说的空字符串

Original Line: lolipops And Rainbows

lolipops :is first
And :is middle
Rainbows :is last

And Rainbows lolipops :is the alphabetized line

Original Line:

:is first
:is middle
:is last

:is the alphabetized line

如何去掉最后一遍的空字符串?

最佳答案

std::string::empty ( reference ) 可用于检查 std::string 是否为空。

因此,检查 line 是否为空,如果不是,则运行您的代码,否则什么都不做。

例子:

while (getline(fin, line))
{
if (!line.empty())
{
// Your logic here...
}
}

关于c++ - while(getline()) 在最后一次通过后没有空字符串的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37244419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com