CString问题C/C++ code#include iostream#define UNICODE#define _UNICODE#include tchar.h#define _A
CString问题
- C/C++ code
#include "iostream"#define UNICODE#define _UNICODE#include "tchar.h"#define _AFXDLL#include "afx.h"#pragma comment(linker,"/ENTRY:TEST")using namespace std;using namespace ATL;int TEST() { CString aa(_TEXT("afdsasd")); cout << aa << endl;//这里输出的为什么不是afdsasd,而是aa这个变量的地址?//而如果把上面的UNICODE与_UNICODE删掉, 这里输出的就是afdsasd 了。 cin.get(); return 0;}问题在注释里面,谢谢回答 。
[解决办法]
可能原因:
由于std::cout 并木有重载operator<<(CString&).
CString在UNICODE下木有重载operator char*(),但有operator(char以外类型)*()
所以输出地址。
而CString非UNICODE下可能有重载operator char*()假如operator char*()实现是返回CString中字符串的话就可以正常输入了。
