C语言文件操作解析(一)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

  C语言文件操作解析(一)

       在讨论C语言文件操作之前,先了解一下与文件相关的东西。

一.文本文件和二进制文件

    文本文件的定义:由若干行字符构成的计算机文件,存在于计算机系统中。文本文件只能存储文件中的有效字符信息,不能存储图像、声音等信息。狭义上的二进制文件则指除开文本文件之外的文件,如图片、DOC文档。

    事实上,无论是上面所定义的文本文件还是二进制文件,在计算机中存储都是以二进制的形式存储的,因此其本质并没有区别。所以广义上的二进制文件便指所有的文件。

    通常意义下,我们所说的文本文件指只包含了纯文本信息的文件(通过手动编辑完成,包含的都是可显字符),二进制文件特指文件里面存储的是二进制代码的文件。至于为什么在计算机内存储的都是二进制数据,而给我们所呈现的确是文字、图像等信息,这跟计算机硬件组成有关系,因为计算机里面的元件是晶体管,其只有两种稳定的状态,因此二进制的0和1能表示其状态。很多个晶体管的不同状态的组合便呈现给我们不同的信息了。下面以汉字在计算机中的表示为例。

二.汉字在计算机中的表示

   用计算机去处理汉字信息,必须对汉字进行编码,变成能被计算机识别的二进制。汉字编码主要有输入码、机内码、字形码三种。分别有不同的作用。

   输入码:为了能直接使用西方英文标准键盘输入汉字,必须制定相应的编码规则,如拼音码(拼音输入法)、数字码(数字输入法)等

   机内码:指汉字在计算机内部的表示形式,即二进制形式,通常采用两字节来表示一个汉字,每个字节的最高位设置为1(其值为负),如汉字“我”在计算机内的表示为11001110 11010010.

   字形码:存储在计算机内的汉字需要在屏幕上显示或者打印机上输出时,需要知道汉字的字形信息,而汉字的机内码并不能表示汉字的字形信息,因此需要专门的字形码 。最通用的字形信息显示采用点阵的形式,即将汉字的字形分解成若干个“点”形成的点阵。每个点有黑白两种信息,有笔画的用黑表示,反之用白表示。汉字的点阵信息量是很大的,比如16*16的点阵需要用256位表示其信息,则需要32字节的空间。

    计算机中存放了所有汉字的字形码组合起来的字形库也称字模库,当汉字输出或者显示的时候由专门的字形检索程序根据这个汉字的机内码在字模库中找出与之对应的字形码,然后根据字形码输出到显示设备上。

    所以我们平常所看到的文本文件或者图片等在计算机上都是以二进制形式存储,只是在显示的时候以人所能够识别的方式呈现给我们。

测试程序

复制代码
#include<stdio.h>
#include<string.h>

int main(void)
{
char s[]="";
unsigned char *p=(unsigned char *)s;
printf("%d\n",strlen(s));
printf("%X\n",*p);
printf("%X\n",*(p+1));
return 0;
}
复制代码

输出结果:

2
CE
D2
Press any key to continue



本文转载自海 子博客园博客,原文链接:http://www.cnblogs.com/dolphin0520/archive/2011/10/05/2199396.html如需转载自行联系原作者


相关文章
|
13天前
|
C语言
C语言——文件操作
本文介绍了文件的基本操作,包括文件的打开、关闭、读取和写入。使用`fopen`函数以不同模式(如“r”、“w”等)打开文件,并通过`fclose`关闭。文章详细解释了如何利用`fputc`、`fputs`及`fprintf`进行格式化写入,同时介绍了`fgetc`、`fgets`和`fscanf`用于文件内容的读取。此外,还涵盖了二进制文件的读写方法以及如何通过`fseek`、`ftell`和`rewind`实现文件的随机访问。
36 1
C语言——文件操作
|
26天前
|
存储 C语言
C语言程序设计核心详解 第十章:位运算和c语言文件操作详解_文件操作函数
本文详细介绍了C语言中的位运算和文件操作。位运算包括按位与、或、异或、取反、左移和右移等六种运算符及其复合赋值运算符,每种运算符的功能和应用场景都有具体说明。文件操作部分则涵盖了文件的概念、分类、文件类型指针、文件的打开与关闭、读写操作及当前读写位置的调整等内容,提供了丰富的示例帮助理解。通过对本文的学习,读者可以全面掌握C语言中的位运算和文件处理技术。
|
2月前
|
C语言
【C语言篇】文件操作(下篇)
因为有缓冲区的存在,C语⾔在操作⽂件的时候,需要做刷新缓冲区或者在⽂件操作结束的时候关闭⽂ 件。如果不做,可能导致读写⽂件的问题。
|
2月前
|
Linux 数据安全/隐私保护 Perl
解锁Linux高手秘籍:文件操作+命令解析大揭秘,面试场上让你光芒万丈,技术实力惊艳四座!
【8月更文挑战第5天】Linux作为服务器与嵌入式系统的基石,其文件管理和命令行操作是技术人员必备技能。本文从文件操作和基础命令两大方面,深入浅出地解析Linux核心要义,助你在面试中脱颖而出。首先探索文件系统的树状结构及操作,包括使用`ls -la`浏览文件详情、`touch`创建文件、`rm -r`慎删目录、`cp`与`mv`复制移动文件、以及利用`find`搜索文件。接着掌握命令行技巧,如用`cat`、`more`和`less`查看文件内容;借助`grep`、`sed`与`awk`处理文本;运用`ps`、`top`和`kill`管理进程;并通过`chmod`和`chown`管理文件权限。
65 8
|
2月前
|
程序员 C语言
位操作在C语言中的解析与应用
位操作在C语言中的解析与应用
75 0
|
2月前
|
存储 API 数据处理
C语言中的文件操作
C语言中的文件操作
68 0
|
2月前
|
C语言 索引
【C语言】文件操作全解速览
【C语言】文件操作全解速览
32 0
|
2月前
|
存储 程序员 C语言
【C语言篇】文件操作(上篇)
在程序设计中,我们⼀般谈的⽂件有两种:程序⽂件、数据⽂件(从⽂件功能的⻆度来分类的)。
|
2月前
|
存储 编译器 程序员
【C语言】文件操作讲解
【C语言】文件操作讲解
|
3月前
|
存储 C语言
C语言中static关键字的作用与用法解析
C语言中static关键字的作用与用法解析

热门文章

最新文章

推荐镜像

更多
下一篇
无影云桌面