如何在C ++中将Cstring转换为TCHAR *?
答案 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至关重要。否则会有内存泄漏。