如何将二进制文件中的字符串以字符方式读出来,急,哪为大侠帮我,立刻给分
我有一个二进制文件,存储的是一个字符串,我若将后缀名改为txt,用记事本能直接看到字符串,但是我在程序中若以text方式读到一个字符数组中,则显示怪字符,那位大虾来帮帮我。谢了! 问题点数:50、回复次数:6Top
1 楼SeainBlue(爱海)回复于 2003-11-02 16:01:39 得分 0
并不是你改变文件扩展名就可以转换二进制和文本方式
必须按照二进制的方式进行读取,你在读的时候用二进制读入,就应该没有问题了Top
2 楼bluebohe(薄荷)回复于 2003-11-02 16:05:40 得分 10
是不是UNICODE字符串啊?你把文件读到unsingned short int数组中,在VC的Option中的DEBUG打开查看UNICODE选项,调试一下看看Top
3 楼dzqsuper(数风流人物-还看打倒日本猪的人(抵制日货))回复于 2003-11-02 16:16:00 得分 0
这里面可是大有文的
你必须做相应的进制转换Top
4 楼nk(鲲)回复于 2003-11-03 09:06:36 得分 30
这是一个UTF-8的格式,我如何将它转换为ANSI编码Top
5 楼tigger1974(小老虎)回复于 2003-11-03 11:40:29 得分 0
nk是我朋友,他在帮我问Top
6 楼lzzqqq(Jonersen)回复于 2003-11-03 12:29:29 得分 10
将它的扩展名改为.txt后能用记事本打开并看到字符串,说明它不是个二文件,而是个文本文件。
FILE* pf=fopen("c:\\myfile.txt","r");
if (pf==NULL)
return;
int iLength=0;
iLength=fseek(pf,0,SEEK_END);
char* pchar=new char[iLength];
memset(pchar,0,sizeof(char)*iLength);
fread(pchar,sizeof(char),iLength,pf);
AfxMessageBox(pchar);
Top




