【C】char char串 int 之间的相互转换

版权声明:本文为博主原创文章,未经博主允许不得转载。保留追究法律责任,转载联系博主。交流欢迎加QQ群463339221。 https://blog.csdn.net/m0_37362454/article/details/81557059

 

  • 将字符char类型转换成int整型

          将字符char类型转换成int整型的方法如下:
                  char str_data='5';
            int int_data=(int)(str_data-'0');
            cout<<int_data<<endl;
    
            同样的道理将int转换成字符char是利用相反的方法;
            int data_int=9;
            char data_str=(char)(data_int+'0');
            cout<<data_str<<endl;
            需要注意的是因为字符只能是单个的字符,所以这种方法处理的int只能是个位数即0-9;
    
  • 将字符串转化成int

  •     将字符串转化成int的函数是atoi(atoi是C语言库函数)
    
           char p[]="123456";
            long a=atoi(p);
            cout<<a<<endl;
    
  • 将int整型转化成字符串型

        将int整型转化成字符串型
        int number = 123456;
            char str[25];
            itoa(number,str,10);
        需要说明的一点是itoa函数中第三个参数是表示进制,10就代表10进制,8就代表8进制。
        但是itoa函数并不是C标准库中的函数,而是Windows平台下扩展的,标准库中有sprintf,功能比这个更强,用法跟printf类似
    
        int number2=987654321;
            char str2[25];
            sprintf(str2,"%d",number2);
            cout<<str2<<endl;
            sprintf函数中第二个参数表示的是进制,十进制“%d”。

猜你喜欢

转载自blog.csdn.net/m0_37362454/article/details/81557059