如何将二进制的dat文件转换成txt文件

suixin020511221 2013-03-13 02:53:20
我想将二进制文件FileRead.dat中的数据读出来,然后将其保存成txt文件,下面是我的代码,保存后显示的仍然是二进制的形式,请哪位大哥帮帮忙!小弟在线等
FILE *in = NULL;
FILE *out = NULL;

in=fopen("FileRead.dat","rb");
out=fopen("FileWrite.txt","wt+");

char s;

while(!feof(in))
{
int c=fgetc(in);
sprintf(&s,"%c",c);
fputs(&s,out);
}

fclose( in );
fclose( out );
...全文
2703 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
码农小非 2014-03-04
  • 打赏
  • 举报
回复
楼主试试这个,亲测有用。
int main() {

    FILE *fp = fopen("output_0502.dat", "r"); 
	
    int i=0;
	//while(!feof(fp)){
	
	for(i=0;i<100;i++){
		fread(&a[i], sizeof(data_unit), 1, fp); 
   } 
   fclose(fp);
    FILE *fp_out=fopen("output1.txt","w");
	for(int j=0;j<100;j++){
		fprintf(fp_out,"%10d %10d %10d %10d %10d %10d %10d\n",a[j].CUID,a[j].UTC,a[j].LAT,a[j].LONG,a[j].HEAD,a[j].SPEED,a[j].HEAVY);
	}
 fclose(fp_out);
 return 0;
}
suixin020511221 2013-03-13
  • 打赏
  • 举报
回复
大哥,不行啊,显示的还是数值啊。不过很感谢你!
赵4老师 2013-03-13
  • 打赏
  • 举报
回复
为什么要有数据结构这个东东? 因为要将现实世界或者抽象理论中的各种数据保存在计算机外存(光盘、硬盘、U盘……)或内存(ROM、RAM、SRAM……)里面的二进制字节数组中。 然后让CPU这个只会执行预先保存好的加减乘除移位条件转移……等机器指令的家伙按照人的意志去处理这些数据。至于具体如何处理就是所谓算法。
赵4老师 2013-03-13
  • 打赏
  • 举报
回复
推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。 不要把 fopen("...","...");fscanf,fprintf,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待 和 fopen("...","...b");fread,fwrite,fclose //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待 弄混了
jimette 2013-03-13
  • 打赏
  • 举报
回复
可以试试ls的方法 。dat是二进制的 读取的时候也应该按二进制才对!
无边1 2013-03-13
  • 打赏
  • 举报
回复
FILE *infile; FILE *out = NULL; infile = fopen("FileRead.dat","rb"); unsigned char buf[MAXLEN]; int rc; char s; while( (rc = fread(s,sizeof(char), 1,infile)) != 0 ) { sprintf(&s,"%c",c); fputs(&s,out); }
suixin020511221 2013-03-13
  • 打赏
  • 举报
回复
这个二进制文件实际就是一个字节对应一个字母或者数字,格式是统一的,不用协议解析。求帮助!
suixin020511221 2013-03-13
  • 打赏
  • 举报
回复
例如:Fri:在二进制文件中保存的数据值为46 72 69,我想做的就是把数值转换成字母或者数字,我想知道为什么我的代码执行后,本来想保存成字母,但是还显示成数字的形式。
无边1 2013-03-13
  • 打赏
  • 举报
回复
二进制保存的文件就需要知道保存内容的格式,比如:在1000个字符后才是有效数据(偏移量),然后保存一个char,再2个double,再6个int,然后很多char... 只有知道怎么存的才知道怎么去读。 仅供参考。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧