关于CFile 汉字读写的乱码问题 你写入的是按PlaneNode大小整块写的,然后按原大小一样读出来就是了, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CFile LoadPInfo; if(!LoadPInfo.Open("Plane_Info.dat", CFile::modeRead | CFile::typeBinary)) { MessageBox("打开文件失败!", "错误!", MB_OK); exit(0); } while(LoadPInfo.GetPosition() != LoadPInfo.GetLength()) { PTemp=new PlaneNode; PTemp->Next=NULL; LoadPInfo.Read(PTemp, sizeof(PlaneNode)); PlaneTile->Next=PTemp; PlaneTile=PTemp; PTemp++; } LoadPInfo.Close();这是我用来读文件的代码,但读出来后,用MessageBox显示出的是乱码啊??? 写文件时,用WideCharToMultiByte转换成多字节的读后,再转换成宽字符的 void CStringToBYTE(CString str, BYTE *pStr){ char *pTemp = NULL; USES_CONVERSION; pTemp=W2A(str);//转换 memcpy(pStr, pTemp, str.GetLength()+1);}// 你写入文件的是二进制数据,如果想用字符串的形式显示,写的时候不要指定CFile::typeBinary就可以了 变量在两个类之间传递如何处理?请各位师兄师姐多多指点! CString 转 long CPropertyPage类对象对话框标题栏的位置问题 想请教一下大家关于mfc 实现工作者多线程的问题 求问SDI视图界面变化的效果制作 关于@@IDENTITY 请教有关智能卡开发(IC卡)方面的问题???? 考验我们的创意 关于位图的切换?? 重载OnInitDialog()函数,添加消息的问题 我要在一个循环体内new一块内存,可是只有循环结束时我才能知道最终该分配多大内存,那循环过程中我该怎么分配内存才好? 求助:关于.c文件加密的问题
if(!LoadPInfo.Open("Plane_Info.dat", CFile::modeRead | CFile::typeBinary))
{
MessageBox("打开文件失败!", "错误!", MB_OK);
exit(0);
}
while(LoadPInfo.GetPosition() != LoadPInfo.GetLength())
{
PTemp=new PlaneNode;
PTemp->Next=NULL;
LoadPInfo.Read(PTemp, sizeof(PlaneNode));
PlaneTile->Next=PTemp;
PlaneTile=PTemp;
PTemp++;
}
LoadPInfo.Close();
这是我用来读文件的代码,但读出来后,用MessageBox显示出的是乱码啊???
读后,再转换成宽字符的
{
char *pTemp = NULL; USES_CONVERSION;
pTemp=W2A(str);//转换
memcpy(pStr, pTemp, str.GetLength()+1);
}//