1. const char* 和 string 转换
    • const char* 转换为 string,直接赋值即可。
      e.g.
      const char* tmp = "abc";
      string s = tmp;
      
    • string转换为const char*,利用c_str()
      e.g.
      string s = "abc";
      const char *tmp = s.c_str();
      
  2. char*const char* 之间的转换
    • const char*转化为char*
      e.g.
      用const_cast<char*>
      const char* tmp = "abc";
      char* p = const_cast<char*>(tmp);
      
      或者strcpy
      const char* tmp = "abc";
      char* c = new char[1024]; //够长
      strcpy(c,tmp);
      
    • char*转化为const char*,直接赋值即可。
      char* p = "abc".
      const char* tmp = p;
      
  3. char*和string之间的转换
    通过前面基础,
    • char*转化为string,直接赋值即可。
      e.g.
      char* p = "abc".
      string str = p;
      
    • string转化为char*
      e.g.
      通过strcpy
      string str = "abc";
      char* c;
      const int len = str.length();
      c = new char[len+1];
      strcpy(c,s.c_str());
      
      或者
      string str="abc";
      char * c = new char[str.size() + 1];
      copy(str.begin(), str.end(), c);
      c[str.size()] = '\0';
      
  4. string转char数组
     string str="abc";
     char c[str.size() + 1];
     copy(str.begin(), str.end(), c);
     c[str.size()] = '\0';
    

ccj 于 2015-12-15 19:44 修改
0 回复
需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。