Home  >  Q&A  >  body text

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

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

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

PHPzPHPz2764 days ago884

reply all(2)I'll reply

  • 怪我咯

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

    You have already got the ASCII code, isn’t it just a number after subtracting ‘0’ (that is, 48)...

    reply
    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;
    }

    reply
    0
  • Cancelreply