登录

类型转换 - 如何将C++ string 类型的每一位字符转换成int(并不是将整个string转换成int)?

string str ="123456";
如何把str的每一位str[i]转换成数字?

已经尝试:
用int(str[i])只能得到ascii码。
用atoi(str.c_str())也只能将整个string转换成int。

# C++
PHPzhongPHPzhong2189 天前530 次浏览

全部回复(2) 我要回复

  • 怪我咯

    怪我咯2017-04-17 13:00:45

    你都得到ASCII码了,减去'0'(也就是48)不就是数字了么……

    回复
    0
  • 迷茫

    迷茫2017-04-17 13:00:45

    #include <string>
    #include <stdlib.h>
    
    using namespace std;
    
    
    int main(){
        string str = "123456";
        const char *p = str.c_str();
        for (int i = 0; i < str.length(); i++)
        {
            int a = str[i] - '0';
            printf("%d \n", a);
    
        }
        system("pause");
        return 0;
    }

    回复
    0
  • 取消回复发送