搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
我家自动化
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
#LLMOps##AIGC# Dify_构建本地知识库问答应用-生成Al应用的创新引擎 用于构建助手API和GPT的开源开发平台_dify构建知识库
2
(java毕业设计源码)基于java(springboot)桂林旅游景点导游平台_设计实现基于javaspring架构的景区旅游服务平台
3
马斯克的 xAI 帝国!60亿融资背后的超级布局?
4
深入理解ChatGPT工作原理
5
312. 戳气球(区间dp)_打气球区间dp
6
通过hexo和github创建一个属于自己的博客_github bigdata visual
7
uniapp消息订阅uni.requestSubscribeMessage
8
安卓APP源码和设计报告——购物APP的设计与实现_安卓移动应用开发大作业购物商店加设计报告
9
计算机毕业/课程设计系列基于SpringBoot+Vue的企业员工管理系统(带人脸识别登录)_人脸识别考勤系统springboot
10
hadoop配置时遇到的常见问题_启动集群出现:bash: start.dfs.sh: command not found...
当前位置:
article
> 正文
C语言——文件
作者:我家自动化 | 2024-06-16 13:57:01
赞
踩
C语言——文件
A1.文件
文件一般是指存储在外部介质上数据的集合
操作系统以文件为单位对数据进行管理的
输入输出是数据传送的过程,数据如流水一样,输入输出流
数据的组织形式和数据文件分为ASCII文件和二级制文件
把内存中的数据按其在内存中的存储形式原样输出磁盘上存放
A2.文件类型指针
不同的c编译系统的FILE类型包含的内容不完全相同,但大同小异
在缓冲文件系统职工,每个被使用的文件都要在内存中开辟——FILE类型的区用于存放文件的有关信息
文件型指针变量
FILE *fp;
fp是一个指向FILE类型结构体的指针变量,使fp指向某一个文件的结构体变量,从而通过该结构体变量文件信息访问该文件
A3.文件的打开与关闭
打开函数调用:
FILE *fp;
fp=fopen(文件名,使用文件方式);
关闭函数调用;
flose(文件指针);
函数功能;
使文件指针变量不指向该文件,文件指针变量与文件“脱钩”,后不再通过该指针对原来与其联系的文件进行读写操作
返回值;
关闭成功返回值0;否则返回EOF(-1)
A4.字符读写函数:fgetc()和fputc()
fputc函数向文件写入一个字符
调用形式:fputc(ch,fp);
函数功能
将字符(ch的值)输入到fp所指向的文件中
返回值
输入成功,则返回值是输出的字符
输入失败,则返回一个EOF
fgetc函数从文件读入一个字符
调用形式:ch=fgetc(fp);
函数功能
fgetc函数带回一个字符,赋给ch
返回值
在执行fgetc函数读字符时遇到文件结束符,函数返回文件解释标志EOF
A5.字符串读写函数;fgets()和fputs()
fgets函数
char *fgets(char *str,int n,FILE *fp)
函数功能
从指定的文件读入一个字符
返回值
执行fgets函数成功,返回为str数组首元素的地址
一开始遇到文件尾或读数据出错,返回NULL
fputs函数
int fputs(const str,FILE *fp)
函数功能
fputs函数可以向指定的文件输出一个字符串
A6.格式化读写函数:fscanf()和fprintf()
函数调用:
fprintf(文件指针,格式字符串,输出表列)
fscanf(文件指针,格式字符串,输入表列)
函数功能
从磁盘文件中读入或输出字符
A7.数据块读写函数
数据块读写函数用二进制方式读写文件
函数调用:
fread(buffer,size,count,fp)
fwrite(buffer,size,count,fp)
参数说明
buffer:指针
对fread来说,是读入数据的存放地址
对fwrite来说,是要输出数据的地址(均指起始地址)
size:要读写的字节数
count:要进行读写多少size字节的数据项
fp:文件型指针
注意
用fprintf和fscanf函数对磁盘文件读写,由于输入时要将ASCII码转换成二进制形式,输出时又要将二进制形式转换成字符,内存和磁盘频繁交换数据情况下,建议用fread和fwrite函数
A8.文件定位
位置指针用来指示当前的读写位置
在对字符文件进行顺序读写时,文件的位置指针指向文件开头,如果需要对文件进行读的操作就读第一个字符,文件位置指针顺序向后移以为,在下次执行读的操作,就将指针指向第二个字符读入
想在一个文件的原有数据之后添加新数据,把文件位置指针移到文件尾,再写入数据,则为文件的追加
A9.位置指针定位函数:fssk
函数功能:
改变文件的位置指针
函数调用形式
fssk(文件类型指针,位移量,起始点)
起始点
文件开头 SEEK_SET 0
文件当前位置 SEEK_CUR 1
文件末尾 SEEK_END 2
位移量
以起始点为基点,向前移动的字节数。一般要求long型
A10.求位置指针偏移值函数:ftell()
函数功能
得到流式文件中的当前位置,用相对文件的位移量来表示
返回值
返回当前位置,出错时返回-1L
A11.位置指针复位函数:rewind()
函数功能
使位置指针重新返回文件的开头,此函数没有返回值
A12.出错检查
ferror函数
调用形式
ferror(fp)
返回值
返回0,未出错
返回非0,出错
调用一个输入输出函数后立即检查ferror函数的值,否则信息丢失。执行fopen函数时,ferror函数初始值自动置0
clearerr函数
调用形式
cleareer(fp)
函数作用
使文件错误标志和文件解释表示置为0
只要出现错误标志,就一直保留,直到对同一文件调用clearerr函数或rewind函数,或其他一个输出输入函数。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/我家自动化/article/detail/726902
推荐阅读
article
python
round
函数
并不是
"
四舍五入
"
_
round
不做
四舍五入
...
ptyhon3
round
函数
_
round
不做
四舍五入
round
不做
四舍五入
...
赞
踩
article
ubuntu
18.04
安装
教程
(详细有效)_
ubuntu
18.04
安装
教程
...
注:这里这样选择可以直接
安装
ubuntu
,这样后续也不需要再手动
安装
Vmware-tools。_
ubuntu
18.0...
赞
踩
article
LangChain
教程:构建
LLM
支持的
应用程序
的指南_langchaindeprecatio...
GPT-4 和 LLaMA 等大型语言模型 (
LLM
) 在过去几年中创造了一个充满可能性的世界。 它预示着人工智能工具和...
赞
踩
article
JDK
各个版本的
更新
特性
_
javajdk
更新
...
JDK
(Java Development Kit)是Java编程语言的开发工具包,每个新版本的
JDK
都会带来一些新的
特性
...
赞
踩
article
[
spacemacs
]
git
下载
出错...
报错如下:lihaiyan@lihaiyan-sh:~/Downloads/
spacemacs
$
git
clone h...
赞
踩
article
现代
图形
API
综合比较:
Vulkan
|
DirectX
|
Metal
|
WebGPU
_gpgp...
Vulkan
、
DirectX
、
Metal
和
WebGPU
等低级
图形
API
正在融合为类似于当前 GPU 构建方式的...
赞
踩
article
Spring-Boot+
Neo4j
+
节点
之间关系网
的
搭建和查询_
springboot
用
cypher
...
接着上一篇讲 上一篇我们学习了如何创建
节点
,以及查询
节点
,但未涉及二者之间
的
关系relationship,本篇,我们将...
赞
踩
article
error
: ‘
rclcpp
::
executor
’ has not
been
declared
思考与...
这个其实是各版本之间不停的改动导致的。foxy:That means replace the with .然后:gala...
赞
踩
article
CNN
学习(7):用
C++
实现
简单不同参数
的
卷积
模型...
几类简单
的
卷积
操作及可执行程序。
CNN
学习(7):用
C++
实现
简单不同参数
的
卷积
模型 目...
赞
踩
article
学习
大
数据
可以
从事
哪些
岗位
?详细解析下?_
大
数据
可以
面试
哪些
岗位
...
这个时代是
大
数据
时代,也是
大
数据
人才稀缺的时代。由于中国人才缺口比较
大
,
大
数据
也迅速成为行业和市场的热点,更多的企业无论...
赞
踩
article
从零开始!
Jupyter
Notebook
的安装教程(附带
pip
和
Python
的安装教程)_jupy...
jupyter
notebook
pip
先自我介绍一下...
赞
踩
article
【
Windows
驱动
篇】解决
Windows
驱动
更新导致
AMD
Software
软件无法正常启动问题_...
每次更新
AMD
Software
驱动
软件,
Windows
系统都会再次提示更新(Advanced micro device...
赞
踩
article
git
+
gerrit
开发
配置
方法入门_
git
geerit
配置
...
一、利用
git
生成ssh密钥1、首先
配置
用户名和邮箱地址
git
config --global user.name yo...
赞
踩
article
java
技术专家 【
JDK
各个
版本
特性
讲解】
JDK
8
特性
_
java
jdk
版本
...
Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新
特性
。 Lambda 允许把函数作为一个...
赞
踩
article
上位
机
图像处理
和
嵌入式模块部署(
h750
mcu
和
usb
虚拟
串口
)...
【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于
mcu
usb
...
赞
踩
article
人人都能学会
键盘
盲打
_
台式
电脑
键盘
盲打
...
对于很多学
电脑
的人而言,`
键盘
盲打
`都是一件很痛苦的事情,而通过
盲打
形成手指的肌肉记忆更是一个漫长的过程。如何快速进入盲...
赞
踩
article
Pikachu
靶场之
敏感
信息
泄漏详解_
pikachu
靶场
敏感
信息
...
Pikachu
靶场之
敏感
信息
泄漏详解
敏感
信息
泄漏简述攻击方式漏洞原因漏洞影响漏洞防护正式闯关文章推荐工具推荐dirsea...
赞
踩
article
大规模预
训练
语言
模型
:
BERT
与
GPT
争锋_
bert
,
gpt
模型
...
1. 背景介绍近年来,深度学习在自然
语言
处理(NLP)领域取得了显著的进展。其中,预
训练
语言
模型
(pre-trained...
赞
踩
article
Spark
学习——分区
Partition
数
...
其他更多java基础文章:java基础学习(目录)这部分能力有限,所以推荐一些大神文章阅读学习:
Spark
创建RDD、...
赞
踩
article
代码
手术刀-
自定义
你的
代码
重构
工具
_
通过
java
语义
分析
工具
修改
代码
...
JavaParser 是一个开源的 Java 源
代码
分析
工具
,它提供了一系列简单的API来解析、
修改
和生成Java
代码
...
赞
踩
相关标签
python
round
函数
ubuntu 18.04
安装教程
langchain
elasticsearch
大数据
搜索引擎
人工智能
ai
java
图形学
neo4j
Spring-boot集成neo4j
neo4j节点关系创建与查询
neo4图形数据库节点关系的创建和查询
ROS
ROS2
版本号
cnn
大数据学习
大数据开发
大数据技术