十进制文件转换为二进制文件?
大家好:我想程序实现 十进制的文件转换为二进制文件,接着在把这个二进制文件转换为十进制(可能有人会说我这是啥程序,转来转去又回到原来的了,我这个是要把二进制文件给别人,自己留着十进制文件),希望大家帮助!
具体如下:
例如input是我自己手动输入的十进制的文件里面有
12.0
34.0
56.0
这样的十进制数据
然后需要把上面的数据转换成二进制的数据文件out1,
最后我要把out1中的数据读取出来,一次读取一个数据,转换为十进制数据,并将它存储到out2中:
我写了一个十进制转换为二进制的程序,当文件是int型时没有任何错误,但是当文件数据为double型时就有错误了,代码如下:
#include <stdio.h>
FILE *fi,*fo;
double v;
int main() {
fi=fopen("INPUT","r");
if (NULL==fi) {
printf("Can not find file INPUT\n");
return 1;
}
fo=fopen("OUTPUT","wb");
if (NULL==fo) {
printf("Can not create file OUTPUT\n");
fclose(fi);
return 2;
}
while (1) {
if (feof(fi)) break;
if (1==fscanf(fi,"%lf",&v)) {
fwrite(&v,sizeof(double),1,fo);
} else {
fscanf(fi,"%*c");
}
}
fclose(fo);
fclose(fi);
return 0;
}