读书人

CString 在控制台下怎么输出

发布时间: 2012-05-09 12:13:59 作者: rapoo

CString 在控制台下如何输出
int main()
{
ofstream outfile("AllChar.txt", ios::out);

TCHAR pBuf[256];
CString szPath;
GetModuleFileName(NULL,pBuf,sizeof(pBuf)/sizeof(TCHAR));
szPath = pBuf;

if (!outfile)
{
cerr << "open error!" << endl;
exit(1);
}

outfile << szPath.GetString() << endl;

outfile.close();

return 0;
}


输出结果是 003BA3D0

我调试的时候 szPath 是路径,是对的,可是输出结果不对?应该怎么样输出?

[解决办法]
TRACE
[解决办法]
控制台下,就用String标准库吧。CString,好像是在MFC下的。
[解决办法]
可能是重载问题。
可以考虑使用 static_cast<char*>()
[解决办法]
VC里面有设置的
你也可以用通用的TCHAR,编译的时候会决定单字节还是双字节的
一般用CString.GetBuffer()

读书人网 >C++

热点推荐