CString, string, char *之间的相互转换(转)

Posted xiawuhao2013

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CString, string, char *之间的相互转换(转)相关的知识,希望对你有一定的参考价值。

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Date: 2018.09.02

技术分享图片

  • 1. string→CString
CString.format("%s", string.c_str());
  • 2. CString→string
string str(CString.GetBuffer(str.GetLength()));
  • 3. string→char *
char *p = string.c_str();
  • 4. char *→string
string str(char *);
  • 5. CString→char *
strcpy(char, CString, sizeof(char));
  • 6. char *→CString
CString.format("%s", char *);

  CString的format和string的c_str()是非常常用的;需要注意的是:和char *转换时,要把char定义为const char *,这样是最安全的。

  以上函数UNICODE编码也没问题:需要加_T()宏,即_T("%s");


CString可能是CStringW / CStringA,在与string转换时,如果是CStringW,会涉及到编码的转换问题。


 

 

 

 

以上是关于CString, string, char *之间的相互转换(转)的主要内容,如果未能解决你的问题,请参考以下文章

CString,string,char*之间的转换(转)

MFC中char*,string和CString之间的转换(待补充)

String,CString,TCHAR,char之间区别和联系

VC中char*与cstring型的转换

C++里stringchar*CString之间的转换

C++里stringchar*CString之间的转换