第10章 【C语言】对文件的输入输出

简介: 第10章 【C语言】对文件的输入输出

10.1 C文件的有关基本知识

10.1.1 什么是文件

文件有不同的类型,在程序设计中,主要用到两种文件:

(1)程序文件。包括源程序文件、目标文件、可执行文件等。

(2)数据文件。文件的内容不是程序,是供程序运行时读写的数据,或在程序运行过程中供读入的数据。

需要将一些数据输出到磁盘上保存起来,以后需要时再从磁盘中输入到计算机内存。这就要用到磁盘文件。

为了简化用户对输入输出设备的操作,使用户不必去区分各种输入输出设备之间的区别,操作系统把各种设备都统一作为文件来处理。

所谓“文件”一般指存储在外部介质上数据的集合。

输入输出是数据传送的过程,因此常将输入输出形象地称为流,即数据流。流表示了信息从源到目的端的流动。


10.1.2 文件名

一个文件要有一个唯一的文件标识,以使用户识别和引用。文件识别包括3部分:(1)文件路径;(2)文件名主干;(3)文件后缀。

文件识别被称为文件名。


10.1.3 文件的分类

根据数据的组织形式,数据文件可分为ASCII文件和二进制文件。

数据在内存中是以二进制形式存储的,可以认为它就是存储在内存的数据的映像,所以也称之为映像文件。

ASCII又称为文本文件,每一个字节存放一个字符的ASCII代码。


10.1.4 文件缓存区

ANSI C标准采用“缓冲文件系统”处理数据文件,所谓缓冲文件系统是指系统自动地在内存区为程序中每一个正在使用的文件开辟一个文件缓冲区。


10.1.5 文件类型指针

缓冲文件系统中,关键的概念是“文件类型指针”,简称“文件指针”。

通过文件指针变量能够找到与它关联的文件。


10.2 打开与关闭文件

对文件读写之前应该“打开”该文件,在使用结束之后应“关闭”该文件。


10.2.1 用fopen函数打开数据文件

fopen函数的调用方式为:

fopen(文件名,使用文件方式);


10.2.2 用fopen函数关闭数据文件

关闭文件用fclose函数。fclose函数调用的一般形式为

fclose(文件指针);

相关文章
|
14天前
|
存储 小程序 C语言
【C语言程序设计——文件】文件操作(头歌实践教学平台习题)【合集】
本文介绍了C语言中的文件操作,分为两个关卡。第1关任务是将键盘输入的字符(以#结束)存入`file1.txt`并显示输出;第2关任务是从键盘输入若干行文本(每行不超过80个字符,用-1作为结束标志),写入`file2.txt`后再读取并显示。文中详细讲解了文件的打开、读取(使用`fgetc()`和`fgets()`)、写入(使用`fputc()`和`fputs()`)及关闭操作,并提供了示例代码和测试说明。
33 5
|
2月前
|
算法 C语言
C语言中的文件操作技巧,涵盖文件的打开与关闭、读取与写入、文件指针移动及注意事项
本文深入讲解了C语言中的文件操作技巧,涵盖文件的打开与关闭、读取与写入、文件指针移动及注意事项,通过实例演示了文件操作的基本流程,帮助读者掌握这一重要技能,提升程序开发能力。
180 3
|
3月前
|
存储 编译器 C语言
如何在 C 语言中判断文件缓冲区是否需要刷新?
在C语言中,可以通过检查文件流的内部状态或使用`fflush`函数尝试刷新缓冲区来判断文件缓冲区是否需要刷新。通常,当缓冲区满、遇到换行符或显式调用`fflush`时,缓冲区会自动刷新。
|
3月前
|
存储 编译器 C语言
C语言:文件缓冲区刷新方式有几种
C语言中文件缓冲区的刷新方式主要包括三种:自动刷新(如遇到换行符或缓冲区满)、显式调用 fflush() 函数强制刷新、以及关闭文件时自动刷新。这些方法确保数据及时写入文件。
|
3月前
|
C语言
【C语言】探索文件读写函数的全貌(三)
【C语言】探索文件读写函数的全貌
|
3月前
|
存储 C语言
【C语言】探索文件读写函数的全貌(二)
【C语言】探索文件读写函数的全貌
|
3月前
|
C语言
【C语言】探索文件读写函数的全貌(一)
【C语言】探索文件读写函数的全貌
|
3月前
|
存储 文件存储 C语言
【C语言】深入了解文件:简明指南
【C语言】深入了解文件:简明指南
|
4月前
|
Linux C语言
C语言 文件IO (系统调用)
本文介绍了Linux系统调用中的文件I/O操作,包括文件描述符、`open`、`read`、`write`、`lseek`、`close`、`dup`、`dup2`等函数,以及如何获取文件属性信息(`stat`)、用户信息(`getpwuid`)和组信息(`getgrgid`)。此外还介绍了目录操作函数如`opendir`、`readdir`、`rewinddir`和`closedir`,并提供了相关示例代码。系统调用直接与内核交互,没有缓冲机制,效率相对较低,但实时性更高。
|
5月前
|
存储 C语言
【C语言】C语言-学生成绩管理系统(源码+数据文件+课程论文)【独一无二】
【C语言】C语言-学生成绩管理系统(源码+数据文件+课程论文)【独一无二】
76 15

热门文章

最新文章