CString是我自己定義的一個類
為了實現(xiàn):
CString str("123abvc");
cout<<str<<endl;
聲明:
ostream& operator<<(ostream& os,const CString& str);實現(xiàn):
ostream& operator<<(ostream& os,const CString& str)
{
long multiBytes = WideCharToMultiByte(CP_ACP,0,str._pData,-1,NULL,0,NULL,NULL);//獲得將寬字節(jié)轉換成多自己時,所需要的字節(jié)個數(shù),注意藍色部分
char *lpMultiBytes = new char[multiBytes+10];//分配多字節(jié)時所需要的內存
memset(lpMultiBytes,0,multiBytes+10);
WideCharToMultiByte(CP_ACP,0,str._pData,-1,lpMultiBytes,multiBytes+10,NULL,NULL);//調用win32api函數(shù)將寬字節(jié)的表示轉換成為多字節(jié)的表示,注意藍色部分
os<<lpMultiBytes;
return os;//注意返回值
}