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;//注意返回值
}