| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 【让你从0到1学会c语言】文件操作 -> 正文阅读 |
|
[C++知识库]【让你从0到1学会c语言】文件操作 |
什么是文件:文件属于文件的一种,与普通文件载体不同,文件是以硬盘为载体存储在计算机上的信息集合。 我们为什么要使用文件呢?
文件分类:我们将文件分为以下两种:
程序文件:
如同下图第一个文件: 数据文件?:
本章讨论的都是数据文件。 文件名:?文件名是文件的标识符。
文件的打开和关闭:文件指针:什么是文件指针:
如何定义一个文件指针:定义pf是一个指向FILE类型数据的指针变量。可以使pf指向某个文件的文件信息区(是一个结构体变量)。通过该文件信息区中的信息就能够访问该文件。也就是说,通过文件指针变量能够找到与它关联的文件。? 文件信息区前提引入:?我们文件操作分为3个部分:
我们可以创建一个文件指针: FILE* pf。 定义pf是一个指向FILE类型数据的指针变量。可以使pf指向某个文件的文件信息区(是一个结构体变量)。这样就可以找到与它相关的文件信息区了。 文件的打开和关闭:
fopen函数:
打开方式有特定的写法,不同的字母有不同的含义,如下图?
详细如下:
如何预防空指针如下: 相对入径和绝对入径:
关闭文件:fclose函数:
?文件的开启和关闭实际运用: ?输入流和输出流:我们先来看一下我们正常的输入流和输出流。
然后我们来看一下文件的输入流和输出流流:
?文件的输入流和输出流可能会出现的问题:在了解输入流和输出流函数前,我们首先得了解一个地方,不然程序会出现问题。都是博主经历过的血与泪!!!
了解完这个后,我们来了解一下输入流和输出流函数! 文件的顺序读写:文件操作函数有哪些呢?如下:我们来了解一下这些函数。 文件的输入和输出流函数(顺序读写):
fgetc函数和fputc函数:?实际运用:
?运行结果: ?fgets和fputs函数:?如何运用:
?运行结果: ?fputs函数我就不讲如何使用了,就是记得把fopen函数的r改为w。 fread函数和fwrite函数:fread函数:
?fwrite函数:
?实际运用:
?我们来对比几个函数:
??显而易见,上图蓝色部分是相同的,而红色部分不一样。
而我们可以将变量以一定格式转换输入输出到数据,那我们是否可以将这些格式化的数据变回原来的格式呢? 答案是可以的,就是运用上图下面两个函数(sprintf函数和sscanf函数)。 如何运用呢?如下:
文件的随机读写:fseek函数:
?实际运用: ftell函数:?ftell函数是返回文件指针相对于起始位置的偏移量。
实际运用: ?rewind函数:让文件指针的位置回到文件的起始位置 实际运用:?
文本文件和二进制文件:根据数据的组织形式,数据文件被称为文本文件或者二进制文件。 一个数据在内存中是怎么存储的呢? 字符一律以ASCII形式存储,数值型数据既可以用ASCII形式存储,也可以使用二进制形式存储。 文件读取结束的判定:feof函数:
文件缓冲区:?ANSIC 标准采用“缓冲文件系统”处理的数据文件的,所谓缓冲文件系统是指系统自动地在内存中为程序中每一个正在使用的文件开辟一块“文件缓冲区”。从内存向磁盘输出数据会先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘上。如果从磁盘向计算机读入数据,则从磁盘文件中读取数据输入到内存缓冲区(充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区(程序变量等)。缓冲区的大小根据C编译系统决定的。 因为有缓冲区的存在,C语言在操作文件的时候,需要做刷新缓冲区或者在文件操作结束的时候关闭文件。 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/11 12:48:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |