2014-10-03 54 views
-1

我有问题将CString转换为常量字符*。我尝试了其他论坛和MSDN方式的方法,它不起作用:如何将CString转换为常量字符*

CString value1("text1"); 
const char * value2= LPCTSTR(value1); 

任何想法?

+3

可能重复的[转换CString为常量字符\ *](http://stackoverflow.com/questions/859304/convert-cstring-to-const-char) – zar 2014-10-03 19:02:41

回答

-1

完成后获得的CString

const char * value2 = (const char *) value1.GetBuffer(value1.GetLength()); 

释放缓冲区的内部字符缓冲区的指针。

value1.ReleaseBuffer() 

ReleaseBuffer()将缓冲区的所有权返回给CString。

+0

-1:答案cintains C风格演员,并没有解释无论 – 2014-10-03 19:12:39

+0

错误C2039:'发布':不是'ATL :: CStringT >>' – Clax 2014-10-03 19:14:42

+0

@MartinBa MSDN解释函数的成员,但我加了一点:) – zar 2014-10-03 19:22:14