检查用户是否输入了空白c ++

时间:2016-06-04 03:38:15

标签: c++ string getline

我需要创建一个循环,从用户输入三个字符串作为输入,如果没有输入则停止。 我的代码

while(true){
cout << "Enter string1 string2 string3: ";
getline(cin,s1, ' ');
if(s1.empty())
    break;
getline(cin, s2, ' ');
getline(cin, s3);
}

如果我没有输入任何内容,getline会等到我输入至少一个空格。如果没有输入任何内容,如何停止?

1 个答案:

答案 0 :(得分:2)

我的建议:

  1. 阅读一行文字。
  2. 使用该行构建istringstream。使用istringstream提取变量。
  3. 这就是我的想法:

    std::string line;
    while ( getline(std::cin, line) )
    {
       std::istringstream str(line);
       if ( !(str >> s1 >> s2 >> s3 ) )
       {
          break;
       }
    }