" 要成为绝世高手,并非一朝一夕,除非是天生武学奇才。但是这种人…万中无一 " —— 包租婆

● C语言文件有关的基本知识

01

 什么是文件

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

(1)程序文件。包括源程序文件(后缀为.c)、目标文件(后缀为.obj)、可执行文件(后缀为.exe)等。这种文件的内容时程序代码。

(2)数据文件。文件的内容不是程序,而是供程序运行时读写的数据,如在程序运行过程中输出到磁盘(或其他外部设备)的数据,或在程序运行过程中供读入的数据。

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

3、文件是程序设计中一个重要的概念。所谓“文件”一般指存储在外部介质上数据的集合。

4、输入输出是数据传送的过程,数据如流水一样从一处流向另一处,因此常将输入输出形象地称为流,即数据流。

5、流表示了信息从源到目的端的流动。

02

 文件名

1、一个文件要有一个唯一的文件标识,以便用户识别和引用。文件标识包括3部分:

(1)文件路径;(2)文件名主干;(3)文件后缀。

2、为了方便起见,文件标识常被称为文件名,但应了解此时所称的文件名,实际上包括以上3部分内容,而不仅是文件名主干。

03

 文件的分类

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

2、数据在内存中是以二进制形式存储的,如果不加转换地输出到外存,就是二进制文件,可以认为它就是存储在内存的数据的映象,所以也称之为映像文件。

3、如果要求在外存上以ASCII代码形式存储,则需要在存储前进行转换。

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

04

 文件缓冲区

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

05

 文件类型指针

1、缓冲文件系统中,关键的概念是“文件类型 指针”,简称“文件指针”。每个被使用的文件都在内存中开辟一个相应的文件信息区,用来存放文件的有关信息。这些信息是保存在一个结构体变量中的。

● 用fopen函数和fclose函数打开与关闭文件

01

用fopen函数打开数据文件

1、fopen函数的调用方式为

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

例如:fopen(“a1”,“r”),表示要打开名字为“a1”的文件,使用文件方式为“读入”。

2、用“r”方式打开的文件只能用于向计算机输入而不能用作向该文件输出数据,而且该文件应该已经存在,并存有数据,这样程序才能从文件中读数据。

3、用“w”方式打开的文件只能用于向该文件写数据,而不能用来向计算机输入。

4、如果希望向文件末尾添加新的数据(不希望删除原有数据),则应该用“a”方式打开。

5、用“r+”、“w+”,“a+”方式打开的文件既可用来输入数据,也可用来输出数据。

6、如果不能实现“打开”的任务,fopen函数将会带回一个出错信息。

7、计算机从ASCII文件读入字符时,遇到回车换行符,系统把它转换为一个换行符,在输出时把换行符转换成为回车和换行两个字符。

8、程序中可以使用3个标准的流文件——标准输入流、标准输出流、标准出错输出流。

02

 用fclose函数关闭数据文件

1、在使用完一个文件后应该关闭它,以防止它再被误用。

2、关闭就是撤销文件信息区和文件缓冲区,使文件指针变量不再指向该文件,也就是文件指针变量与文件“脱钩”,此后不能再通过该指针对原来与其相联系的文件进行读写操作,除非再次打开,使该指针变量重新指向该文件。

3、fclose函数调用的一般形式

fclose(文件指针)

例子:

fclose(a1),前面曾把打开文件时函数返回的指针赋给了a1,现在把a1指向的文件关闭,此后a1不再指向该文件。


如果你想要获取更多C语言、C++、Windows以及QT的知识!这里一个C/C++编程学习交流俱乐部,点击进入,有编程学习文件(源码,项目实战教学视频以及给小白的零基础教程),欢迎初学者和正在进阶中的小伙伴们!

C语言文件有关的基本知识,以及函数打开与关闭文件!相关推荐

  1. C语言文件类型和打开,关闭文件

    文件类型 读取文件需要文件信息(读写位置,内存缓冲地址....),这些信息放在"文件信息区". 由系统定义的FILE结构体类型可对其进行描述,定义在头文件stdio.h中. 可使用 ...

  2. c语言open函数打开文件方式,Linux中C语言open函数打开或创建文件详细讲解

    Linux中C语言open函数打开或创建文件详细讲解 Linux中C语言open函数打开或创建文件详细讲解 头文件: #include #include #include 函数原型: int open ...

  3. 22 Python IO、打印到屏幕、读取键盘输入、打开和关闭文件、文件定位、重命名和删除文件、Python里的目录、文件,目录相关的方法

    22Python文件I/O 22.1打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出如下: ...

  4. csv文件导入后台乱码_用Excel打开CSV格式文件乱码,三种方法可以处理好!

    日常办公中,我们使用办公软件办公是比较平凡的,现在的办公软件也有好几种(微软的office.金山的WPS等).而且小编觉得在所有的办公软件中是微软的office是比较有名的.这款软件不仅功能齐全,还可 ...

  5. 使用C/C++来打开与关闭文件(fopenfclose)

    文件的操作:磁盘上的文件是文件 但是在程序设计中,文件分为两种:程序文件.数据文件(从文件功能的角度分类). 程序文件包含以下三类: 源程序文件(后缀一般为.c):目标文件(windows环境后缀为. ...

  6. c语言用指针实现打开和关闭文件,我用rewind函数没把指针直到开始,关闭文件然后打开就行。帮忙看看...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 高手啊,我试了,结果是回到文件头了,把123覆盖了,为ABC 但我这个程序就能直接不关闭文件而用rewind函数到开头,你帮忙看看, //二进制文件的输入 ...

  7. linux打开文件int open,Linux下C语言open函数打开或创建文件与read,write函数详细讲解...

    open(打开文件) 相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen 表头文件 #include #include #include ...

  8. python写入一个文件之前可以不打开_如何用python实现真正的打开和关闭文件

    file_name:file_name变量是一个包含了你要访问的文件名称的字符串值. access_mode:access_mode决定了打开文件的模式:只读,写入,追加等.所有可取值见如下的完全列表 ...

  9. python3(十二)打开和关闭文件

    Python 提供了必要的函数和方法进行默认情况下的文件基本操作.你可以用 file 对象做大部分的文件操作. open 函数 必须先用Python内置的open()函数打开一个文件,创建一个file ...

最新文章

  1. 决定局域网的主要技术要素
  2. CoffeeScript和Sass提高Web开发效率
  3. cmd中的进度如何捕捉到输出内容_python 中日志异步发送到远程服务器
  4. 每日程序C语言9-判断分数段
  5. DS博客作业06--图
  6. pip3 安装pycrypto 时报错
  7. Linux(CentOS 6.5)下配置Mono和Jexus并且部署ASP.NET MVC5
  8. redis 命令别名_【死磕 Redis】 哨兵(一):部署哨兵架构
  9. 图灵奖得主华人高徒发布首款AI芯片!64位RISC-V、高度可编程,低功耗
  10. 双层板在哪层覆铜_多层板的生产过程,与双层板有何不同?
  11. 拼多多服务端实习生笔试-滑动窗口2018/4/3
  12. 百篇论文分类整理看数据增广最新研究进展
  13. 让serialversionUID自动生成方法
  14. 新安装的centos使用ifconfig无效或者无法使用的解决办法
  15. CTR介绍,数据集往往为表格形式,训练集使用历史的日志数据,然后进行特征归一化、离散化和特征哈希等操作,最终一条训练集为一行多列的二分类任务。
  16. pytorch转onnx: step = 1 is currently not supported以及Exporting the operator silu to ONNX opset version
  17. windows搭建ftp服务器,及200 227 451错误解决
  18. 如何编写没有工作经验的简历
  19. 史上最简单的图片二维码识别
  20. 解析原生IP和广播IP

热门文章

  1. 字节跳动2020秋招研发笔试题
  2. APP开发从需求到产品—APP产品经理成长日记
  3. 现代编程语言(3):zig
  4. 如何用python爬取参考文献的doi
  5. 下载最新版本火狐浏览器,并且下载geckodriver.exe
  6. DS1302 万年历时钟乱跳数值 85 85 85 11 11 11
  7. 「面试必背」大数据面试题100道(收藏)
  8. 《黑马》——C++基础入门
  9. qpython安装requests库_qpython3安装库的三种方法
  10. 2023年节假日JSON