D.F*_*kaz 2 c++ parsing integer std
当使用 std::stoi 并传递以数字开头且后跟非数字字符的字符串时,该字符串将成功解析为整数,而不会引发异常。例如,“0abcf”被解析为 0。我希望只有当字符串仅包含数字字符(即“123”但不包含“12a”)时才将其解析为整数,是否有现有函数可以执行此操作?
Max*_*hof 5
引用文档:
int stoi( const std::string& str, std::size_t* pos = 0, int base = 10 ); ... [第一个未转换的]字符的索引将被计算并存储在 中*pos,给出转换处理的字符数。
int stoi( const std::string& str, std::size_t* pos = 0, int base = 10 );
*pos
因此,为了检查所有字符是否有效/已解析,您需要做的就是传递第二个参数,然后检查该值(转换后的字符数)是否等于字符串中的字符数。
归档时间:
7 年,7 月 前
查看次数:
4682 次
最近记录: