C ++新手这里有一个简单的问题。如何将CString的内容打印到控制台?
这样做
int main(array<System::String ^> ^args)
{
CString cs1 = _T("Hy");
CString cs2 = _T(" u");
CString cs3 = cs1 + cs2;
Console::WriteLine(cs3);
printf("%s", cs3);
return 0;
}
在控制台上输出“True”和“H”。 TIA。
答案 0 :(得分:5)
我猜你正在编译启用Unicode,但是printf
是一个ANSI函数,所以它只打印字符串的第一个字符。使用_tprintf
匹配您的_T
字符串:
_tprintf(_T("%s"), cs3);
答案 1 :(得分:3)
Console::WriteLine(gcnew System::String(cs3));
答案 2 :(得分:0)
您需要在打印之前投射CString
printf("%s ", (LPCTSTR)cs3);
这应该有效