在c++中,我如何检查是否有多个输入
In c++, how do I check if there was more than one inputs?
例如,用户输入了两个而不是一个输入,我如何检测并输出错误消息?
用户输入两个输入,在哪里?
在命令行?检查argc
,这是调用时传递给应用程序的参数计数。
int main(int argc, char** argv) {
// argc will always at least be 1,
// since the program name is always passed
if (argc > 3)
...
}
如果你说的是在运行时检查其他地方的输入,正如其他注释所说,它取决于你使用哪个方法读取输入。如果我们不知道这一点,就很难提出一个方法。
根据你在评论中给出的例子,我有一个想法:
std::string str;
// take everything from stdin up to the next newline
std::getline(std::cin, str);
现在您已经得到了整个输入字符串。你可以用空格分割字符串(在StackOverflow上有很多这样的例子),并检查你只解析了一个单词。这只是一个例子,不一定是最优的,但它应该为您指明正确的方向。
您也可以使用istringstream
,只解析出第一个单词并丢弃其余的,这是对这个StackOverflow示例的修改。
相关文章:
- 检查输入是否不是整数或数字
- 检查值是否在集合p1和p2中,但不在p3中
- 检查 std::shared_ptr<> 的当前底层类型是否为 T
- 在c++中检查长方体是否尽可能快地重叠(无迭代)
- 如何检查线程是否锁定
- C++LDAP检查用户是否是特定组的成员
- 检查TCHAR数组输入是否为带符号整数C++
- 如何检查QList中是否存在值
- 检查函数返回类型是否与STL容器类型值相同
- 检查是否以特定精度给出双精度
- 检查向量是否具有所有可能的字符组合
- 检查注册表项是否链接到(或副本)另一个注册表项
- 地图计数确实很重要,或者只是检查是否存在
- 检查 2 棵树是否具有相同的顺序
- std::next 是否检查我们是否已经在容器的末尾?
- "!" "== 0"是否检查 int 是否是 0 的好做法?
- 我是否检查是否存在带或不带参数的宏函数
- dynamic_cast是否检查被查询对象的type_info对象,或者递归地检查
- 在VS2010中编译c++ 11中的代码时,std::function()是否检查类型
- 如果第二个参数"0",strcmp 是否C++检查字符串中的每个值?