C语言读取二进制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C 语言读取百度文库进制文件转换为十六进制
#include <stdio.h> int main() { FILE *fp1 = NULL; char buf1[100] = {0}; int i; fp1 = fopen("1.txt", "r"); for(i=0;i<5;i++) { fread(&buf1[i], sizeof(char), 1, fp1); printf("0x%x, ", buf1[i]); } fclose(fp1); return 0; } 二进制表示 #include <stdio.h> #include <stdlib.h> //PRINTBIT 用于把一无符号整数翻译成二进制串 void PRINTBIT(unsigned int number) { unsigned int i; unsigned int ckecker=1;//ckecker 用于指示由右至左的位数,初置设为 1
广义的二进制文件即指文件, 由文件在外部设备的存放形式为二进制而得名。 狭义的二进制 文件即除文本文件以外的文件。 文本文件是一种由很多行字符构成的计算机文件。 文本文件 存在于计算机系统中, 通常在文本文件最后一行放置文件结束标志。 文本文件的编码基于字 符定长,译码相对要容易一些;二进制文件编码是变长的,灵活利用率要高,而译码要难一 些,不同的二进制文件译码方式是不同的。 从本质上来说他们之间没有什么区别,因为他们在硬盘上都有一种的存放方式--二进制,但 是如果要对他们有些区分的话,那可以这样理解。每个字符由一个或多个字节组成,每个字 节都是用的-128—127 之间的部分数值来表示的,也就是说,-128——127 之间还有一些数 据没有对应任何字符的任何字节。 如果一个文件中的每个字节的内容都是可以表示成字符的 数据,我们就可以称这个文件为文本文件,可见,文本文件只是二进制文件中的一种特例, 为了与文本文件相区别, 人们又把除了文本文件以外的文件称为二进制文件, 由于很难严格 区分文本文件和二进制文件的概念, 所以我们可以简单地认为, 如果一个文件专门用于存储 文本字符的数据,没有包含字符以外的其他数据,我们就称之为文本文件,除此之外的文件 就是二进制文件。
printf("Can not open %s!\n",filename); exit(0); } while(!feof(fp)) { fscanf(fp,"%d",&i); itoa(i, str, 2); printf("%s ",str); } fclose(fp); return 0; }
ckecker<<=8-1;//将 ckecker 中非零位移到其机器表示的最左边 //下一语句从左至右打印各位,每四位之间留一空隔 for (i=1;i<=8;i++) { //打印 ckecker 非零位所对应的 number 中对应位 putchar((number & ckecker)?'1':'0'); if (i%4==0)//每 4 位用空格隔开 putchar(' '); ckecker>>=1; } putchar('\n'); } int main(void) { FILE *fp; char *filename = "in1.dat"; char ch; if((fp=fopen(filename,"rb"))== NULL ) { printf("Can not open %s!\n",filename); exit(0); } printf("原字符\t 二进制\n"); ch=fgetc(fp);//取字符 while(!feof(fp)) { putchar(ch); putchar('\t'); PRINTBIT(ch); ch=fgetc(fp); } fclose(fp); return 0; } //准备打印 number 中的下一位
EXE File(可执行程序) ,一种可在操作系统存储空间中浮动定位 的可执行程序。MS-DOS 和 MS-WINDOWS 下,此类文件扩展名为.exe WINDOWS 操作系统中的二进制可执行文件,分两种: 一种后辍名为.com,另一种是.exe 。
C 语言读取二进制文件
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { FILE * fp; char * filename = "test.dat"; int i; char str[128]; if( (fp=fopen(filename,"rb"))== NULL ) {