我正在尝试从 C++ 中的命令行读取多行输入并将它们存储到一个数组中。这是我的代码。
std::string line;
int in;
std::vector<std::string> v;
while(std::getline(std::cin, line)){
if(line == "^D") break;
v.push_back(line);
}
for(auto it = v.begin(); it != v.end(); it++){
std::cout<<*it<<std::endl;
}
标准输入进入无限循环,我似乎无法弄清楚如何防止这种情况。基本上,目标行为是在没有任何输入的情况下连续两次按 enter 应该终止 stdin 循环并运行程序。
原文由 Antithesis 发布,翻译遵循 CC BY-SA 4.0 许可协议
我会测试看看字符串是否为空。如果是这样,打破。像这样: