如何把一个二进制文件转换为ASCII文件初学,不知道如何实现谢谢 [解决办法]你能把一首 mp3 转换成一段 MTV 么?不同的东西, 又没有一个规则, 怎么转. Base64 编码可以用能打印的字符来编码二进制.[解决办法]
Quote: 引用:Quote: 引用:Quote: 引用:直接用 fread 把二进制文件读到内存里面.然后对内存里面的数据用循环:for(int i = 0; i < dataSize; ++i) printf(" %02X", data[i]);就行了.要写入另外一个文件, printf 改成 fprintf谢谢各位。我这里有一个文件时从数据库中导出的二进制文件,里面都是数据,我想用C把它读出来。仅仅读出来可以,如下:int n; char buf[10]; FILE *sf; int i; sf=fopen("hrandsh.dump","rb"); fseek(sf,1,0); n=fread(buf,sizeof(char),2,sf); for(i=0;i<n;i++) { printf("%02x",buf[i]); }但是如下两种情况我不知道如何实现:1、如何实现buf所指的字符串和一个值作比较(比如"2345")2、如何把这个二进制里的所有数据读出来(数据包括汉字、字母等等任何字符)谢谢,新人,问题问的肤浅请见谅。1.比较的话,用strcmp可以比较.2.如果你想全读出来,while(!foef(fp)){;}类似这样的操作就可以了.另外,要全读的话,char数组要定义大一点.不然就溢出了.非常感谢n=fread(buf,sizeof(char),2,sf);如果buf所指的值用16进制表示是9843,我想把buf和"9843"作比较,改怎么写呢?
Quote: 引用:Quote: 引用:直接用 fread 把二进制文件读到内存里面.然后对内存里面的数据用循环:for(int i = 0; i < dataSize; ++i) printf(" %02X", data[i]);就行了.要写入另外一个文件, printf 改成 fprintf谢谢各位。我这里有一个文件时从数据库中导出的二进制文件,里面都是数据,我想用C把它读出来。仅仅读出来可以,如下:int n; char buf[10]; FILE *sf; int i; sf=fopen("hrandsh.dump","rb"); fseek(sf,1,0); n=fread(buf,sizeof(char),2,sf); for(i=0;i<n;i++) { printf("%02x",buf[i]); }但是如下两种情况我不知道如何实现:1、如何实现buf所指的字符串和一个值作比较(比如"2345")2、如何把这个二进制里的所有数据读出来(数据包括汉字、字母等等任何字符)谢谢,新人,问题问的肤浅请见谅。1.比较的话,用strcmp可以比较.2.如果你想全读出来,while(!foef(fp)){;}类似这样的操作就可以了.另外,要全读的话,char数组要定义大一点.不然就溢出了.
Quote: 引用:直接用 fread 把二进制文件读到内存里面.然后对内存里面的数据用循环:for(int i = 0; i < dataSize; ++i) printf(" %02X", data[i]);就行了.要写入另外一个文件, printf 改成 fprintf谢谢各位。我这里有一个文件时从数据库中导出的二进制文件,里面都是数据,我想用C把它读出来。仅仅读出来可以,如下:int n; char buf[10]; FILE *sf; int i; sf=fopen("hrandsh.dump","rb"); fseek(sf,1,0); n=fread(buf,sizeof(char),2,sf); for(i=0;i<n;i++) { printf("%02x",buf[i]); }但是如下两种情况我不知道如何实现:1、如何实现buf所指的字符串和一个值作比较(比如"2345")2、如何把这个二进制里的所有数据读出来(数据包括汉字、字母等等任何字符)谢谢,新人,问题问的肤浅请见谅。
直接用 fread 把二进制文件读到内存里面.然后对内存里面的数据用循环:for(int i = 0; i < dataSize; ++i) printf(" %02X", data[i]);就行了.要写入另外一个文件, printf 改成 fprintf
int n; char buf[10]; FILE *sf; int i; sf=fopen("hrandsh.dump","rb"); fseek(sf,1,0); n=fread(buf,sizeof(char),2,sf); for(i=0;i<n;i++) { printf("%02x",buf[i]); }
while(!foef(fp)){;}
n=fread(buf,sizeof(char),2,sf);