-1
我想在字符串中获得几行输入到一个向量(或一个数组)。我使用getline()收集字符串,并且在收集完所有行后,我希望打破while循环。我试着用“if(line.empty)”然后中断,但它不起作用。我究竟做错了什么?中断getline循环C++
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> lines;
string line;
while (getline(cin >> ws, line))
{
if (!line.empty())
{
lines.push_back(line);
}
if (line.empty())
break;
}
cout << "Done";
return 0;
}
顺便说一句,你不需要每次循环调用'line.empty'两次。你检查它是否不是空的。如果这是错误的,那么它一定是空的。将循环中的第二个“if”更改为“else”。可能不会解决你的问题,但应该指出。另外,***从不省略花括号***。如果误用,最终会咬你的是一种坏习惯。 – Carcigenicate