CString是我自己定义的一个类
为了实现:
CString str("123abvc");
cout<<str<<endl;
声明:
ostream& operator<<(ostream& os,const CString& str);实现:
ostream& operator<<(ostream& os,const CString& str)
{
long multiBytes = WideCharToMultiByte(CP_ACP,0,str._pData,-1,NULL,0,NULL,NULL);//获得将宽字节转换成多自己时,所需要的字节个数,注意蓝色部分
char *lpMultiBytes = new char[multiBytes+10];//分配多字节时所需要的内存
memset(lpMultiBytes,0,multiBytes+10);
WideCharToMultiByte(CP_ACP,0,str._pData,-1,lpMultiBytes,multiBytes+10,NULL,NULL);//调用win32api函数将宽字节的表示转换成为多字节的表示,注意蓝色部分
os<<lpMultiBytes;
return os;//注意返回值
}