python读取二进制的dat文件_C语言 读写二进制文件

查找了比较多的资源, 发现没有办法把text 文件转成binary文件

仅作为记录,不过这个例子可以去除换行符。#include

#include

#define N 255

int main()

{

char a[N];

FILE *fp1,*fp2;

fp1=fopen("test_seq.fa","r");

fp2=fopen("testSeq.dat","wb");

/* input text file and output ASCII file no line delimiter*/

if (NULL == fp1){

return -1;

}

while(!feof(fp1)){

if(feof(fp1)){

break;

}

fscanf(fp1,"%s", a);

//fwrite(a, strlen(a),1,fp2);

fwrite(&a, sizeof(char), strlen(a) ,fp2);

}

fclose(fp1);

fclose(fp2);

return 0;

}

编译后, 程序读入test _ seq. fa

输出是 testSeq. dat

#include

#include

int main(void){

int len=2048;

char filename[20];

char buff[10000];

char hit[5]; // str for find

FILE *fd;

int i,j,flag=0,over=0;

int max,readed;

int count=0;

//strcpy(&filename[0] , "test_seq.fa"); // file name

strcpy(&filename[0] , "testSeq.dat"); // file name

strcpy(&hit[0] , "agag"); // sequence

buff[0]=0x0;

buff[1]=0x0;

// open file

if((fd = fopen(&filename[0] , "rb"))==NULL){

printf("Error : Can not open file %s\n",&filename[0]);

}

// read content

while(over != 1){

readed = fread(&buff[2] , 1 , len , fd);

if(readed < len){

over=1;

max=readed;

}else{

max=len;

}

for(i=0;i

for(j=0;j<4;j++){

if(hit[j] != buff[i+j]){

flag=0;//

break;

}else{

flag=1;//

}

}

if(flag==1){

count++;

i+=j-1;

}else{

if(j==0){

i+=(j);

}else{

i+=(j-1);

}

}

}

//

buff[0]=buff[max];

buff[1]=buff[max+1];

}

fclose(fd);

printf("count:%d\n",count);

}

这个程序编译后 ,读入testSeq.dat , 统计其中的 agag 字符串的个数。

二进制文件读取 参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值