zoukankan      html  css  js  c++  java
  • (c++) int 转 string,char*,const char*和string的相互转换

    一、int 和string的相互转换

    1 int 转化为 string

    c++
    //char *itoa( int value, char *string,int radix);
    // 原型说明:
    // value:欲转换的数据。
    // string:目标字符串的地址。
    // radix:转换后的进制数,可以是10进制、16进制等。
    // 返回指向string这个字符串的指针
    int aa = 30;
    char c[8];
    itoa(aa,c,16);
    cout<<c<<endl;

    2 string转化为int
    使用strtol(string to long)
    c++
    string s = "17";
    char* end;
    int i = static_cast<int>(strtol(s.c_str(),&end,16));
    cout<<i<<endl; // 23
    i = static_cast<int>(strtol(s.c_str(),&end,10));
    cout<<i<<endl; // 17

    二、char*,const char*和string的相互转换

      1. string转const char*

        string s = “abc”;

        const char* c_s = s.c_str();

      2. const char*转string

        直接赋值即可

        const char* c_s = “abc”;

        string s(c_s);

      3. string转char*

        string s = “abc”;

        char* c;

        const int len = s.length();

        c = new char[len+1];

        strcpy(c,s.c_str());

      4. char*转string

        char* c = “abc”;

        string s(c);

      5. const char*转char*

        const char* cpc = “abc”;

        char* pc = new char[100];//足够长

        strcpy(pc,cpc);

      6. char*转const char*

        直接赋值即可

        char* pc = “abc”;

        const char* cpc = pc;

  • 相关阅读:
    poj1182 食物链
    poj1611 The Suspects
    poj3436 Computer Factory
    (转) GPG入门教程
    cronolog安装配置
    RHCA-436-4 rhcs conga
    pxe引导gparted live万能分区
    linux下拔号pptp
    GNU parted简略用法
    hostapd故障解决(1.1,2.0,2.2)
  • 原文地址:https://www.cnblogs.com/lizhenlin/p/7715470.html
Copyright © 2011-2022 走看看