- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
8.2.2文本文件的读写文件打开之后,就可以进行读写操作。文件的读写操作通过一组库函数实现,分为读函数和写函数。常用的读写函数分为如下几类:1.字符的读写2.数值的读写3.格式化读写4.块的读写5.字符串的读写1.字符的读写fputc()函数的作用是从当前文件位置开始向文件输出一个字符函数形式参数说明如下:intc——准备输出的字符。FILE*stream——文件地址,为FILE*类型变量。函数返回值——int类型。如果返回值为-1(EOF),则表示字符输出失败,否则返回值为c,即与输出的字符相等。fgetc()函数的作用是从当前文件位置读取一个字符函数形式参数说明如下:FILE*stream——用读写模式和只读模式打开的文件地址,为FILE*类型变量。函数返回值——int类型。如果返回值为-1,表示已经读到文件末尾,否则返回读到的字符。【例8.2】从键盘读取一行字符,并输出到“test.txt”文件中,再把该文件内容读出显示在屏幕上。1.字符的读写2.字符串的读写fgets()函数的形式参数如下:char*s——有效内存地址,以便可以存储从文件读取的字符串。intn——读取字符串的长度,确定从文件中读取多少个字符。实质上,此函数从文件中读取n-1个字符到当前的字符串中,然后自动添加字符串结束符‘\0’。但是如果此文件中一行长度小于n,则到此行的换行符为止,并将此换行符读取到字符串中。FILE*stream——文件地址fputs()函数的形式参数如下:constchar*s——有效的字符串,此字符串中不包括‘\n’。intn——字符串长度。实质上,在向文件输出信息时,并不输出‘\0’。FILE*stream——文件地址。函数返回值——整型数据,如果函数运行成功,则返回0;否则返回EOF。【例8.3】从test.txt文件中读入一个含10个字符的字符串。【例8.4】在例8.2中建立的文件test.txt中追加一个字符串。文件的基本概念8.1常用文件操作的基本函数8.28.1文件的基本概念计算机信息系统中,根据信息的存储时间,可以分为临时性信息和永久性信息。简单来说,临时信息存储在计算机系统临时存储设备(例如存储在计算机内存),这类信息随系统断电而丢失。永久性信息存储在计算机的永久性存储设备(例如存储在磁盘和光盘)。永久性的最小存储单元为文件,因此文件管理是计算机系统中的一个重要的问题。一般来说,每台计算机都有一个操作系统负责管理计算机的各种资源。操作系统的文件系统负责将外部设备(如硬盘、打印机、光驱等)的信息组织方式进行统一规划,提供统一的程序访问数据的方法。8.1.1文件概述对于操作系统来说,文件是存储在磁盘上的一个信息序列,操作系统为这个信息序列起一个名称,这个名称就叫做文件名(或文件标识符)。由于文件存储在外存中,外存的信息相对于内存来说是海量的,而且出于安全、规范的角度,不能够允许程序随意使用外存的信息,因此,当程序要使用文件时必须向操作系统申请使用,操作系统按规则授权给程序后程序才可以使用,使用完毕后,程序应该通知操作系统。8.1.1文件概述缓冲区:是在内存中开辟的一段区域,当程序需要从外存中读取文件数据时,系统先读入足够多的数据到缓冲区中,然后程序对缓冲区中的数据进行处理。当程序需要写数据到外存文件中时,同样要先把数据送入缓冲区中,等缓冲区满了后,再一起存入外存中。所以程序实际上是通过缓冲区读写文件的。数据存储缓冲区从C语言的角度看,文件实际上是一个存储在外存中的由一串连续字符(字节)构成的任意信息序列,即字符流。C程序需要按照特定的规则去访问这个序列。C语言中的文件是逻辑的概念,除了大家熟悉的普通文件外,所有能进行输入输出的设备都被看做是文件,如打印机、磁盘机和用户终端等。8.1.1文件概述终端文件中有3个文件是特殊的,每个C程序都用到。这3个文件是:标准输入文件(stdin)对应键盘,标准输出文件(stdout)对应终端屏幕,标准出错信息文件(stderr)对应终端屏幕。这3个文件对所有的C程序都是自动设置和打开的。当程序调用getchar()和scanf()时,就是从标准输入文件(键盘)读取信息;调用putchar()和printf()就是向标准输出文件(屏幕)输出信息。8.1.1文件概述8.1.2文件的类别对于操作系统来说,文件就是一个由字节为单位的信息流序列。如果将C语言涉及的所有数据存储在文件中,必然有一个约定规则。一个整数存储在文件中可以有多种方式。如整数28036存储在文件可直接存储2个字节0x0B和0x14,也
文档评论(0)