gpt4 book ai didi

c++ - 修改包含 break 语句的 while 循环

转载 作者:行者123 更新时间:2023-11-27 23:40:15 24 4
gpt4 key购买 nike

我目前正在尝试编写一个循环,以使用 getline 从输入文件中提取每一行,并一直运行直到它检测到段落的结尾。

我找到这个作为引用:

while (getline(inFile, line))
{
if (line.empty())
break;

else
{
for (int j = 0; j < line.length(); j++)
{
//Doing stuff here
}
}
}

我已经对此进行了测试,它运行良好。但是,我不允许在我的作业中使用 break 语句。

我以为我可以做这样的事情:

while (getline(inFile, line))
{
while (!line.empty())
{
for (unsigned int i = 0; i < line.length(); i++)
{
//Do stuff
}
}
}

但是程序在循环第一次迭代时就崩溃了。我想知道是否有人对我如何解决这个问题有意见

最佳答案

这就是你解决问题的方法:

while (getline(inFile, line) && !line.empty()) { ... }

它具有完全相同的效果,并且可以说提高了可读性。您的方法的问题在于它会导致无限循环。 line.empty() 评估 false 的事实不会影响那里的外部 while

关于c++ - 修改包含 break 语句的 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55678588/

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