C语言实现文本文件/二进制文件格式互换
本程序要自己创建个文本格式的输入文件a1.txt,编译后能将文本文件前255字节以内的字符转换成相应的AscII码值的二进制表示,并存入输出文件a2.txt中。然后再将二进制文件还原并存入a3.txt文件。
具体代码如下:
#include#include #include #defineNSIZE8 voidprint_2(intval2); /***********文本文件转二进制**********/ voidText2Bin(constchar*sIn,constchar*sOut){ chara[255]; intcount=0; intch; for(intj=0;j<255;j++)a[j]='\0'; FILE*fin=fopen(sIn,"r"); FILE*fout=fopen(sOut,"w"); for(inti=0;i<=255;i++)fscanf(fin,"%c",&a[i]); for(intk=0;k<=254&&a[k]!='\0';k++) { ch=a[k]; for(inta=7;a>=0;a--)fprintf(fout,"%d",ch>>a&1); //fprintf(fout,"\n"); } fclose(fin); fclose(fout); } /***********二进制文件转文本文件**********/ voidBin2Text(constchar*sIn,constchar*sOut){ FILE*fin=fopen(sIn,"r"); FILE*fout=fopen(sOut,"w"); charstr[255*8]; for(intr=0;r<255;r++)str[r]='\0'; inti=0,j=0,iTemp=0,flag=0; intibina[NSIZE]; charcRead[NSIZE]; charcChar; for(inta=0;a<=255;a++)fscanf(fin,"%c",&str[a]); //for(intf=0;f<=255;f++)printf("%c",str[f]); while(flag<=255){ //printf("%d",flag); for(intb=flag;b>=flag&&b =0;j--) { //printf("%c",ibina[j]); //printf("%d\n",cChar); cChar+=ibina[j]*iTemp; iTemp*=2; } printf("%c",cChar); fprintf(fout,"%c",cChar); flag=flag+8; } fclose(fin); fclose(fout); } intmain(){ Text2Bin("d:\\a1.txt","d:\\a2.txt"); Bin2Text("d:\\a2.txt","d:\\b2.txt"); printf("\nSuccessfullyconvertedfile!\n"); return0; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。