首先,我只是一个初学者
int num;
cin>>num;
如何检查数字是否为数字且仅为0
与常规 exp 有什么关系?有人可以教我吗?
仅当流包含可解析的字符序列时,提取才会成功。正确的用法是这样的:
int num;
if (std::cin >> num)
{
// OK, use "num". E.g. "if (num == 0)", etc.
}
else
{
// Error, no number could be extracted
}
如果提取失败,则流保持失败状态,需要重置(使用clear()
),然后对其进行进一步操作才能成功。
(通常最好从流中提取整行作为字符串(在耗尽流之前永远不会失败)std::getline
,然后分别处理每一行。)