一个程序,让你清楚区分二进制文件和文本文件
ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:
ASC码 | 00110101 | 00110110 | 00110111 | 00111000 |
十进制码 | 5 | 6 | 7 | 8 |
二进制文件是按二进制的编码方式来存放文件的。 例如, 数5678的存储形式为: 00010110 00101110只占二个字节。二进制文件虽然也可在屏幕上显示, 但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。 输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。 因此也把这种文件称作“流式文件”。
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
{
int i;
int len;
FILE *out;
unsigned char in_str[128];
unsigned char string[] = {0xFF, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0xFF, 0x0};
memset(in_str, 0, 128);
len = strlen(string);
out = fopen("Test", "w+");
fwrite(string, sizeof(unsigned char), len, out);
fclose(out);
out = fopen("Test", "r+");
fread(in_str, sizeof(unsigned char), len, out);
for(i = 0; i < len; i++)
printf("%x ", in_str[i]);
fclose(out);
printf("\n");
{
memset(in_str, 0, 128);
int fd;
fd = open("PText", O_CREAT|O_RDWR, 0666);
write(fd, string, len);
close(fd);
fd = open("PText", O_RDWR);
read(fd, in_str, len);
for(i = 0; i < len; i++)
printf("%x ", in_str[i]);
close(fd);
printf("\n");
}
{
out = fopen("TTest", "w+");
for(i = 0; i < len; i++){
fprintf(out, "0x%x ", string[i]);
}
fclose(out);
memset(in_str, 0, 128);
out = fopen("TTest", "r+");
for(i = 0; i < len; i++){
fscanf(out, "%x", &in_str[i]);
}
for(i = 0; i < len; i++)
printf("%x ", in_str[i]);
fclose(out);
printf("\n");
}
return 0;
}
一个程序,让你清楚区分二进制文件和文本文件相关推荐
- 编写一个程序,实现以下功能:(1)输入一系列的学生数据(包括学生的学号、姓名和成绩等基本信息),将学生信息写入二进制文件 student . dat 中。。。。。。
编写一个程序,实现以下功能: (1)输入一系列的学生数据(包括学生的学号.姓名和成绩等基本信息),将学生信息写入二进制文件 student . dat 中.(2)从 student . dat 文件中 ...
- python wheel库(安装包查找)(适用于Python扩展程序包的非官方Windows二进制文件、Pypi官方库、清华大学开源软件镜像源)
适用于Python扩展程序包的非官方Windows二进制文件 Unofficial Windows Binaries for Python Extension Packages Pypi官方库 官方库 ...
- 【OS学习笔记】十 实模式:实现一个程序加载器-程序加载器如何将用户程序加载到内存并执行
上一篇文章学习了以下内容: 用一种不同的分段方法,从另一个不同的的角度理解处理器的分段内存访问机制 使用循环和条件转移指令来优化主引导扇区代码 点击链接查看上一篇文章:点击链接查看 对于主引导扇区部分 ...
- 王垠:怎样尊重一个程序员?
得知一位久违的同学来到了旧金山湾区,然而我见到他时,这人正处于一生中最痛苦的时期. >>>> 他告诉我,自己任职的公司在他加入之前和之后,判若两人.录取的时候公司对他说,我们对 ...
- 96KB存储器的怎么算地址范围_每天都在敲代码,但是一个程序在计算机中是怎么运行的?...
强烈声明:本文很干,请自备茶水! 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { ...
- 论一个程序员的编程修养(你品,你细品)
论一个程序员的编程修养 转自:陈浩 芯片之家 作者:陈浩 来源:嵌入式云IOT技术圈 什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是.对于一些技术细节来说和 ...
- 一个程序员多年的收藏
程序员珍藏的东西会是什么?呵呵,除了平时写的代码,就是那些百看不厌的电子书了. 昨天很郁闷,我用了5年的移动硬盘,莫名奇妙的坏掉了.里面40G的资料全部报销了. 为了不再重蹈覆辙,我决定把重要的电子书 ...
- 一个程序员的多年珍藏--收藏
2010 - 01 - 15 [置顶] 一个程序员的多年珍藏(1月23日最新更新) 文章分类:Java编程 程序员珍藏的东西会是什么?呵呵,除了平时写的代码,就是那些百看不厌的电子书了. 昨天很郁闷, ...
- mysql一百转化为五分制_设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出。90分以上为A,80~90分为B,...
设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出.90分以上为A,80~90分为B,以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内 ...
- 计算机 哈弗结构图,作为一个程序员,不知道什么是冯诺依曼体系结构?那肯定也不知道哈佛结构喽!...
听说你还不知道什么是冯诺依曼体系?赶紧转行吧,这可是最基本的最基础的啊,要知道冯诺依曼可是计算机行业祖师爷般的存在啊,所以啊,无论你是学习java,Python,还是天下第一的PHP,只要你是个干编程 ...
最新文章
- 图片在容器里垂直居中
- Linux的文本字段统计方法
- 能用文件的安卓c语言,使用android NDK将.C 文件编译为 手机 可执行程序或者.so
- nginx php7 fastcgi,Windows下搭建PHP7+FastCGI+Nginx环境
- Android----Google code android开源项目(四)
- python如何确定拐点_多年股市老鸟买卖操作经验——如何在波段操作确定买入点!经典...
- 如何在html中编写scss,编写Sass的八个技巧
- ★LeetCode(1025)——除数博弈(JavaScript)
- 搭建10分钟,解决90%问题,帕累托分析模型为何这么强?
- mt管理器错误信息java_DEX编辑
- 查询GPU时无进程运行,但是显存却被占用了
- 浏览器被360劫持怎么办
- JavaScript(js)基础
- python字母对应数字上海迪士尼残疾人门票_所有景点提供无障碍设施 残障人士也能玩转上海迪士尼...
- C++Primer笔记-A003-decltype使用
- 前端基础——URL详解
- NBT|45种单细胞轨迹推断方法比较,110个实际数据集和229个合成数据集
- eclipse开发jsp网站
- [置顶] Rebol 3 工具的学习
- PHP执行mpg123,树莓派充当mp3播放器