【转载】char*,const char*和string 三者转换

本文转自 http://blog.csdn.net/perfumekristy/article/details/7027678

const char* 和string 转换

  • const char*转换为 string,直接赋值即可
     EX: const char* tmp = "hello world!".

         string s = tmp;
  • string转换为const char*,利用c_str()
  EX:  string s = "hello world";
       const char*tmp = s.c_str();

char*和const char*之间的转换

  • const char*转化为char*,利用const_cast
     EX: const char* tmp = "hello world";

         char* p = const_cast<char*>(tmp);
  • char*转化为const char*,直接赋值即可。
     char* p = "hello world".
     const char* tmp = p;

char*和string之间的转换

有了上述两点的基础,char*和string转化就很简单了。

  • char*转化为string,直接赋值即可。
     EX: char* p = "hello world".
         string str = p;
  • string转化为char*,走两步,先是string->const char*,然后是const char*->char*
     EX:  string str = "hello world";
          char* p = const_cast<char*>(str.c_str());
原文地址:https://www.cnblogs.com/lanqiu5ge/p/9472218.html