关于字符串的问题

时间:2011-08-20 23:50:49

标签: c++ string

我正在尝试检查用户输入错误的程序。

在这种情况下,我只想要数字。 (没有字母等)

if (someStringHere.find_first_not_of("0123456789") == string::npos)

说这段代码会给我这样的实现是否正确?

根据我的知识,如果字符串只是数字,则返回true;如果找到0-9之外的数字,则返回false

1 个答案:

答案 0 :(得分:0)

您的实施对我来说很好。

以下不是一个详尽的测试用例,但它足以证明这一点,坦率地说,你的方法很明显(假设是ASCII输入)。

<tomalak> geordi << isAllNums("12345"), isAllNums("a3234e"), isAllNums("abcdef"); bool isAllNums(const std::string& str) { return str.find_first_not_of("0123456789") == string::npos; }
<geordi> true, false, false