将字符串中的数字转化为整数(string->int)

将每个字符乘10的倍数的方法太缓慢且局限性太多,用sscanf和sprintf晦涩难记且不稳定。

所以有了stringstream,需包含头文件sstream.

将字符串s中的数字复制到tmp中,每次遇到非数字就转化。


#include 
#include 
using namespace std;

string s,tmp;
stringstream ss;
int num;
int main(int argc, char const *argv[]) {
    while(cin>>s)
    {
        for(int i=0;i='0'&&s[i]<='9')
                tmp+=s[i];
            else
            {
                ss << tmp;
                ss >> num;
                printf("%d\n",num);
            }
        }
    }
    return 0;
}


你可能感兴趣的:(板子)