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 *之间的相互转换(转)的主要内容,如果未能解决你的问题,请参考以下文章
MFC中char*,string和CString之间的转换(待补充)