首页 > 解决方案 > C++ 中是否有用于在字符串中选取数字的函数

问题描述

我有一个来自 c++ 堆栈的计算器,当我尝试在其上插入一个公式时,例如 1+2*3,我希望我有一个函数可以获取数字,直到每个不是数字的字符。示例 12+2 它会得到 12,然后会跳过 + 因为代码会进入其他部分,然后再次得到数字 2。我做了类似的事情

for(i=0;i++;i<string.size();)

 {
    if(string[i]<48)
    character(string[i]);
    else if (string[i]>=48)
    number(string[i]);
 }

但这效率不高,有人知道它的功能吗?

标签: c++stringc++11integer

解决方案


如果它只适用于整数,您可以使用 stdlib 中的常青 atoi() 这是文档https://www.cplusplus.com/reference/cstdlib/atoi/,还有 atof() 和 atol( ) 相同但具有 double 和 long int


推荐阅读