【问题标题】:Check if user input a blank c++检查用户是否输入了空白 c++
【发布时间】:2016-06-04 03:38:15
【问题描述】:

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

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

如果我不输入任何内容,getline 会等到我输入至少一个空格。什么都不输入怎么让它停止?

【问题讨论】:

标签: c++ string getline


【解决方案1】:

我的建议:

  1. 读取一行文本。
  2. 使用该行构造一个istringstream。使用istringstream 提取变量。

这就是我的想法:

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

【讨论】:

  • 谢谢,有同样的想法,不知道如何正确实现。
猜你喜欢
  • 2012-08-17
  • 1970-01-01
  • 2011-10-24
  • 1970-01-01
  • 1970-01-01
  • 2013-01-11
  • 2020-04-30
  • 2013-11-30
  • 1970-01-01
相关资源
最近更新 更多