CMemFile保存CString字符串,然后再读出来,发现字符串后加了一串乱码,这是怎么回事啊?CString str = "fdfsdee幅度撒解放军";
CMemFile file;
file.Write(str.GetBuffer(0), str.GetLength());
file.SeekToBegin(); CString str2;
file.Read(str2.GetBuffer(0), file.GetLength());
AfxMessageBox(str2);
CMemFile file;
file.Write(str.GetBuffer(0), str.GetLength());
file.SeekToBegin(); CString str2;
file.Read(str2.GetBuffer(0), file.GetLength());
AfxMessageBox(str2);
解决方案 »
- 加载xml配置文件过程中使用CComVariant变量时出现问题,望大侠指点一下!
- 关于CTypedPtrMap ,为什么编译的时候出错?
- 菜鸟问题
- 再次请教:关于tif图像格式的数据结构及其有关的资料。
- 高手来抢分了~~
- 怎样实现window文件夹缩略图界面?
- 在vc下怎樣使用諸如swap等這樣的標准c++函數
- 关于DialogBox产生的对话框,如何处理WM_PAINT消息函数?
- struct类型变量的引用问题??
- 求救,MFC 在对话框里面拖一个listCtrl控件 如何单独将对他的操作方法都放到新建的一个类里面
- 请教:如何获取ActiveX控件中的窗口消息
- 用ADO连接并查询SQL表的疑惑
没有考虑string 结束的\0;
用VC6的朋友帮忙调试调试。
file.Write(str.GetBuffer(0)+'\0', str.GetLength()+1);
或者
2、file.Read(str2.GetBuffer(0), file.GetLength()); 改为
long length = file.GetLength();
char *strRead;
strRead = new char[length + 1];
file.Read(strRead, length);
str2 = strRead;
delete [] strRead;