读取二进制文件程序

 有时候我们需要读取二进制文件,下面是C++代码,经过编译后可以直接应用:

代码:

#include <iostream>
#include <fstream>
#include <cstdio>
#include <cstdlib>

using namespace std ;

int read_file(FILE *infile,int num, double *ml){
        if(fread(ml,sizeof(double),num,infile)){
                return 1;
        }else{
                return 0;
        }
}

int main(int argc, char **argv){	//命令行应该有两个参数,一是文件名,二是读取字符数。
        if(argc < 2){
                cout<<"\n******************************************************"<<endl;
                cout<<"\tWork for GLFv2 just. \n\tMeanwhile, each line with 10*(double) LK value"<<endl;
                cout<<"******************************************************\n"<<endl;
                fprintf(stdout,"Usage:\t%s input.glf [num:10] > outfile\n\n",argv[0]);
                exit(0);
        }

        FILE *infile=NULL;
        int num(10);	//默认参数为10 double,也可以直接在命令行输入。
        if(argc >= 3)
                num = atoi(argv[2]);
        double *ml;

        infile=fopen(argv[1],"rb");
        while(read_file(infile,num,ml)){
                int i;
                for(i=0;i<num;i++){
                        cout<<ml[i]<<"\t";
                }
                cout<<endl;
        }
        fclose(infile);
}

等待进一步阐释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值