在使用Unicode状态下使用的CString都是宽字符集的,当需要写入到ANS标准的txt文本格式的时候,经常出现写入的是十六进制的地址的状态,因为自己使用的是MFC下的CString,并且输出流选择的是fstream具体代码如下:

1     ofstream outTxt;        
2     std::string dName;                          //正确显示但是有多余空格            
3     dName = CStringA(back[0]);                //正确显示但是有多余空格 
4     outTxt << dName.c_str() ;

尝试了很多使用getbuffer都不行,强制转换也不行,最后这个方法可行,但是就是多出了一些空格,这总比不很正常显示好很多了!

最后unicode实在有点复杂!