读书人

怎么将二进制文件转换成可以阅读的文本

发布时间: 2012-04-26 14:01:31 作者: rapoo

如何将二进制文件转换成可以阅读的文本文件
我想把一个二进制文件转换成可以阅读的文本文件,以下是我写的程序,不知道错在什么地方,老是转不过来。如能帮我解决,重赏!!!
#include<stdio.h>
#include<stdlib.h>

typedef struct data123
{
unsigned char* buffer[100];
}DATA;


DATA readbin(FILE* bin);
void writetxt(DATA* data1,FILE* txt);

int main(void)
{
FILE* bin;
FILE* txt;
DATA data1;


if((bin=fopen("123.bin","rb"))==NULL)
printf("can't open the file!\n");

if((txt=fopen("a.txt","w"))==NULL)
printf("can't open the file!\n");

while(!feof(bin))
{
data1=readbin(bin);
fprintf(txt,"%c",&data1);
}
writetxt(&data1,txt);

if(feof(bin))
{
printf("error");
}
fclose(bin);
fclose(txt);

return 0;
}


DATA readbin(FILE* bin)
{
int ioresult;
DATA data2;
ioresult=fread(&data2,sizeof(DATA),1,bin);
if(!ioresult)
if(!feof(bin))
exit(100);
}

void writetxt(DATA* data1,FILE* txt)
{
fwrite(data1,sizeof(DATA),1,txt);

}

[解决办法]

C/C++ code
 void writetxt(DATA* data1,FILE* txt)     {     fwrite(data1,sizeof(DATA),1,txt);       }//这个其实还是二进制,你把DATA里的数据以字符串格式写入就是了 

读书人网 >C语言

热点推荐