CString 、 string 、 const char*、int、double之间的相互转换

我们在写程序时,常常会遇到类型转换的问题。现总结一些常见的类型转换。

1,const char*(C风格字符串)与string之间转换:

             (1) const char*可以直接对string类型赋值,例如:

                       const char* pchar = "qwerasdf";

                       stringstr = pchar;

             (2) string通过c_str()函数转换为C风格字符串,例如:

                       string str = "qwerasdf";

                       const char* pchar = str.c_str();

 

2,const char*类型可以直接给CString类型赋值,例如:

               const char* pchar = "qwerasdf";

               CString str = pchar;

3,string类型变量转为为Cstring类型变量

             CString类型变量可以直接给string类型变量赋值,但是string类型不能对CString类型直接赋值。通过前两类

      转换我们可以得到,string类型变量转换为const char*类型,然后再直接赋值就可以了。例如:

       CString cstr;

       sring str = “asdasd”;

       cstr = str.c_str();

      同理,CStrng类型变量先转换为string类型在调用c_str()函数就可以完成向const char*类型的转换。例如:

      CString cStr = "adsad";   

      string str = cStr;  

      const char* pchar = str.c_str();
4,double,int转string

      double temp;
   stringstream strStream;
   strStream<<temp;
   string ss = strStream.str() 

   string 转double,int 
   string.atoi   ,   string.atof

     从上面我们可以上面看出,通过类型之间的相互转化,会使本来要通过复杂的函数来完成的类型转换变得简单易懂。

你可能感兴趣的:(CString 、 string 、 const char*、int、double之间的相互转换)