读取二进制文本文件,该如何解决
读取二进制文本文件char chkeybuf[300]char chkeybuf2[100]TCHAR keybuf[100]char dirszPath[MAX_PATH]
读取二进制文本文件
char chkeybuf[300];
char chkeybuf2[100];
TCHAR keybuf[100];
char dirszPath[MAX_PATH],dirszPath2[MAX_PATH];
FILE *fpREGINFO;
memset(chkeybuf2, 0, sizeof(chkeybuf2));
wcstombs(chkeybuf, keybuf, wcslen(keybuf));
chkeybuf[wcslen(keybuf)] = '\0';
Str2Value(chkeybuf,chkeybuf2);
chkeybuf2[wcslen(keybuf)/2] = '\0';
FILE *fp;
strcpy(dirszPath, PersonalDir);
strcat(dirszPath, "\\TOP GUN\\Record\\TOPGUNKEY.dat");
if((fp = fopen(dirszPath,"wb")) == NULL)
{
exit(0);
}
else
{
fwrite(chkeybuf2,16,1, fp);
fclose(fp);
}
strcpy(dirszPath2, PersonalDir);
strcat(dirszPath2, "\\TOP GUN\\Record\\TOPGUNKEY.dat");
if((fpREGINFO = fopen(dirszPath2,"rb")) == NULL)
{
exit(0);
}
else
{
fread(&xulie,sizeof(TCHAR),50,fpREGINFO);
fclose(fpREGINFO);
}
各位大哥,读出来的xulie是乱码,我知道是读的时候有问题,就是不会改,请各位大哥多多指教一下,急用!小女子这厢谢谢了
[解决办法]
你fwrite(chkeybuf2,16,1, fp);写的就是二进制数。
[解决办法]参考http://www.cnblogs.com/JCSU/articles/1306451.html
乱码就是跟文件里面的一样,但是我想要的不是二进制,如何把这个乱码转化为字符了?谢谢大哥了
那我怎么才能化成字符了?
[解决办法]对电脑而言没有乱码,只有二进制字节;对人脑才有乱码。啊 GBK:0xB0 0xA1,Unicode-16 LE:0x4A 0x55,Unicode-16 BE:0x55 0x4A,UTF-8:0xE5 0x95 0x8A
推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。