栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言实现文本文件/二进制文件格式互换

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言实现文本文件/二进制文件格式互换

本程序要自己创建个文本格式的输入文件a1.txt,编译后能将文本文件前255字节以内的字符转换成相应的AscII码值的二进制表示,并存入输出文件a2.txt中。然后再将二进制文件还原并存入a3.txt文件。

具体代码如下:

#include 
#include 
#include 
#define NSIZE 8

void print_2(int val2);

void Text2Bin(const char* sIn,const char* sOut){
  char a[255];
  int count = 0;
  int ch;
  for(int j=0; j<255;j++)a[j]='';
  FILE* fin=fopen(sIn,"r");
  FILE* fout=fopen(sOut,"w");
  for(int i=0 ; i<=255 ; i++)fscanf(fin,"%c",&a[i]);
  for(int k=0 ; k<=254&&a[k] !=''; k++)
  {  
    ch = a[k];
    for(int a=7;a>=0;a--) fprintf(fout,"%d",ch>>a&1);
    //fprintf(fout,"n");
  }
  fclose(fin);
  fclose(fout);
}

void Bin2Text(const char* sIn,const char* sOut){
  FILE* fin=fopen(sIn,"r");
  FILE* fout=fopen(sOut,"w");
  char str[255*8];
  for(int r=0; r<255 ;r++) str[r]='';
  int i = 0, j = 0, iTemp = 0, flag = 0;
  int ibina[NSIZE];     
  char cRead[NSIZE];
  char cChar;
  for(int a=0 ; a<=255 ; a++)fscanf(fin,"%c",&str[a]);
  //for(int f=0 ; f<=255 ; f++)printf("%c",str[f]);
  while(flag <= 255){
    //printf("%d",flag);
    for(int b=flag ; b>=flag && b=0 ; j--)
    {
      //printf("%c",ibina[j]);
      //printf("%dn",cChar);
      cChar+=ibina[j]*iTemp;
      iTemp *= 2;
    }
    printf("%c",cChar);
    fprintf(fout,"%c",cChar);
    flag=flag+8;
  }
  fclose(fin);
  fclose(fout);
}

int main(){
  Text2Bin("d:\a1.txt","d:\a2.txt");
  Bin2Text("d:\a2.txt","d:\b2.txt");
  printf("nSuccessfully converted file!n"); 
  return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/62463.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号