如何将CString打印到控制台?尝试使用此代码,但打印出类似指针的内容。
..
#include <iostream>
#include <atlstr.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
CString a= "ddd";
cout<<a.GetString();
}
Output 00F56F0
答案 0 :(得分:5)
使用以下内容:
std::wcout << a.GetString();
答案 1 :(得分:2)
使用 wcout 将CString打印到控制台:
Foldable
答案 2 :(得分:1)
如何将CString打印到控制台?尝试这个代码,但得到了一些东西 喜欢指针打印。
道歉。我没有完成并被打断了。显然你必须转换为临时CStringA(否则它是宽字符串格式,即wcout)。在我再次阅读你的信息之前我没有意识到这一点:
std::ostream& operator << ( std::ostream& os, const CString& str )
{
if( str.GetLength() > 0 ) //GetLength???
{
os << CStringA( str ).GetString();
}
return os;
}
你可以按照建议使用wcout:
std::ostream& operator << ( std::wostream& os, const CString& str )
{
if( str.GetLength() > 0 ) //GetLength???
{
os << CStringA( str ).GetString();
}
return os;
}
然后像这样使用:
std::wcout << str << std::endl;