如何在C ++中将Cstring转换为TCHAR *?

时间:2014-06-30 04:18:27

标签: visual-c++

如何在C ++中将Cstring转换为TCHAR *?

1 个答案:

答案 0 :(得分:0)

要从CString转换为TCHAR *,只需使用GetBuffer函数(http://msdn.microsoft.com/en-us/library/aa314880%28v=vs.60%29.aspx)。

请注意,这可以允许您将CStrings与返回字符串作为输出参数的Win32 API函数一起使用,如下所示。

假设GetStr函数具有以下原型。

void GetStr(TCHAR *str, size_t s);

您可以使用CString作为第一个参数调用GetStr,如下所示。

CString str;
GetStr(str.GetBuffer(1024), 1024);
str.ReleaseBuffer();

对GetBuffer的调用实际上会分配足够的内存来存储1024个字符。

请注意,调用ReleaseBuffer至关重要。否则会有内存泄漏。