CString转换为const char*

Posted

tags:

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

在VC++6.0中,CString可以通过强制转换,转换成char*,如: (char*)(LPCTSTR)str,但是在VS2010及更高版本中,这样强制转换的后果就是char只能接受CString的第一个字符,编译器也不会报错,主要是Unicode和ANSI的问题,此时可以使用下面的函数: 

char* CStringToChar(CString str)

{

const size_t strsize=(str.GetLength()+1)*2;

char * pstr= new char[strsize];

size_t sz=0;

wcstombs_s(&sz,pstr,strsize,str,_TRUNCATE);

return pstr;

}

以上是关于CString转换为const char*的主要内容,如果未能解决你的问题,请参考以下文章

CString转换为const char*

将 CString 转换为 const char*

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

CString 转化成 const char* 类型

VS2017出现不存在从"CString"到"const char*"的适当转换函数

VS2008 C++中 inet_addr()函数用法。 inet_addr: 不能将参数 1 从“CString”转换为“const char *”