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*的主要内容,如果未能解决你的问题,请参考以下文章
MFC中char*,string和CString之间的转换(待补充)
VS2017出现不存在从"CString"到"const char*"的适当转换函数
VS2008 C++中 inet_addr()函数用法。 inet_addr: 不能将参数 1 从“CString”转换为“const char *”