怎么将二进制的dat文件转换成txt文件

如何将二进制的dat文件转换成txt文件
我想将二进制文件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 );

------解决方案--------------------
二进制保存的文件就需要知道保存内容的格式,比如:在1000个字符后才是有效数据(偏移量),然后保存一个char,再2个double,再6个int,然后很多char...
只有知道怎么存的才知道怎么去读。
仅供参考。