文件的读写

news2024/9/24 1:20:05
一、IO

标准io (输入输出)站在计算机角度来确定输入输出,在linux里面io都是对文件操作。

so 动态库函数(共享库),(公共的,用的很多),在user里面存储。

man手册 manual

  1. 查命令
  2. 3.系统调用(只能在Linux里面调),3理论上是跨平台。都是函数。
  3. 设备文件
  4. 文件格式和方便 /etc(系统级别的配置)
  5. 游戏
  6. 杂项
  7. 管理员命令,最高级别是root
  8. 内核更新路线

注意

  • c库就是一个函数的集合
二、文件读写过程

1、打开文件,file

2、io操作,读写操作

3、关闭文件

 2.1 打开文件

参数的设置

操作文件被操作文件都存在,w 清零或者创建新文件 。

2.2 fgetc() 读文件

系统规定用-1表示,不是文件的内容,这是系统反馈的

2.3 fputc() 

一个字符一个字符的放。放到那个文件里面

2.4  fgets() 读文件 

size的数值尽可能和所开的空间一样,开的空间尽量比这一行长。


#include<stdio.h>
#include<string.h>
int main(int argc,char *argv[])
{
    FILE* fp = fopen("/etc/passwd","r");
    if(NULL == fp)
    {
        printf("fopen error\n");
        return 1;
    }
    char buf[512] = {0};
    while(1)
    {
        memset(buf,0,sizeof(buf));
        if(fgets(buf,sizeof(buf),fp))
        {
            printf("%s",buf);
        }
        else
        {
            break;
        }
    }
    fclose(fp);
    return 0;
}
 2.5 fputs() 写文件

 字符串写文件代码

#include<stdio.h>
#include<string.h>
int main(int argc,char* argv[])
{
    FILE* fp = fopen("3.txt","w");
    char buf[]="hello china";
    fputs(buf,fp);
    fclose(fp);
    return 0;
}

2.6 fread()读

一次性放进去,一次性读出类似结构体类型

注意 

  •  要写的文件 大小 第三个写1就行(结构体数组写几个结构体)一次性写进去可以,最后一个是写哪里去
  • 如果读或者写里面没有少了,那么返回值为0

2.6 fwrite() 写

与读操作一样,只是现在是从结构体中往文件里面写。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1981997.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Studying-代码随想录训练营day58| 拓扑排序精讲、dijkstra(朴素版)精讲

第58天&#xff0c;拓扑排序和最短路径算法讲解&#xff01;&#xff01;&#x1f4aa;(ง •_•)ง&#x1f4aa;&#xff0c;编程语言&#xff1a;C 目录 拓扑排序精讲 拓扑排序的背景 题目&#xff1a;117. 软件构建 (kamacoder.com) 拓扑排序的思路 模拟过程 有环…

基于K8S配置Jenkins主从节点实例

基于K8S配置Jenkins主从节点实例 1.配置Jenkins主节点1.确认 Jenkins Pod 名称2.进入 Jenkins Pod&#xff1a;3.生成SSH密钥对4.将公钥复制到目标节点&#xff1a; 2.配置Jenkins的node1节点1.安装java2.配置 Jenkins node1节点的 Java 路径1.添加Java环境变量2.生效Java环境变…

如何根据 EcoVadis 审核的评分标准改进企业社会责任表现?

要根据 EcoVadis 审核的评分标准改进企业社会责任表现&#xff0c;可以采取以下步骤&#xff1a; ​深入研究评分标准 详细了解每个主题&#xff08;环境、劳工与人权、商业道德、可持续采购&#xff09;及其子主题的具体要求和关键指标。 进行自我评估 对照评分标准&#xf…

未授权访问漏洞(非重点 上)

1.MongoDB 1.在fofo里搜索 port"27017 2.Memcached 1.用fofa语法 port"11211" 搜索资产 2.使用 telnet 连接 3.Zookeeper 1.在 fofa 中使用 port"2181" 获取资源 2.在 kali 中使用 echo envinc ip 2181 测试是否存在漏洞 4.Elasticsearch 1.在 …

⌈ 传知代码 ⌋ MSA+抑郁症模型总结(二)

&#x1f49b;前情提要&#x1f49b; 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间&#xff0c;对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

Java语言程序设计——篇十一(5)

&#x1f33f;&#x1f33f;&#x1f33f;跟随博主脚步&#xff0c;从这里开始→博主主页&#x1f33f;&#x1f33f;&#x1f33f; 欢迎大家&#xff1a;这里是我的学习笔记、总结知识的地方&#xff0c;喜欢的话请三连&#xff0c;有问题可以私信&#x1f333;&#x1f333;&…

基于arcpro3.0.2的北斗网格生成简介

基于arcpro3.0.2的北斗网格生成简介 采用2000坐标系、可基于行政区范围 软件可生成第一级到第十级北斗网格经纬跨度 等分 约赤道处距离 第一级 6X4度 60 和A~V 660 km 第二级 30X30分 12X8 …

sql注入第一关和第二关

第一关&#xff1a; 输入?id1 正常 输入?id1 报错 .0 输入?id1-- 正常 判断他是字符型注入 闭合方式是: ?id1 and 12 union select 1,2,group_concat(schema_name) from information_schema.schemata-- 联合注入 爆出库&#xff1a;ctfshow,ctftraining,information_…

nvidia系列教程-AGX-Orin系统刷机及备份

目录 前言 一、准备工作 二、AGX Orin 系统刷机步骤 三、AGX Orin 系统备份 总结 前言 NVIDIA AGX Orin 是一款高性能的嵌入式计算平台&#xff0c;专为边缘计算和 AI 应用而设计。为了确保系统的稳定性和适应不同的应用场景&#xff0c;用户可能需要对 AGX Orin 进行系统刷…

SpringBoot集成阿里百炼大模型 原子的学习日记Day01

文章目录 概要下一章SpringBoot集成阿里百炼大模型&#xff08;多轮对话&#xff09; 原子的学习日记Day02 整体架构流程技术名词解释集成步骤1&#xff0c;选择大模型以及获取自己的api-key&#xff08;前面还有一步开通服务就没有展示啦&#xff01;&#xff09;2&#xff0c…

2024.8.05(glibc的安装及MySQL的安全用户角色权限)

一、glibc的安装 1、清空/etc目录下的my.cnf [rootlocalhost ~]# ls -l /etc/my.cnf -rw-r--r--. 1 root root 570 6月 8 2017 /etc/my.cnf [rootlocalhost ~]# rm -rf /etc/my.cnf 2、删除mariadb [rootlocalhost ~]# yum -y remove mariadb [rootlocalhost ~]# find / -na…

wps 最新 2019 专业版 下载安装教程,解锁全部功能,免费领取

文章目录 前言软件介绍软件下载安装步骤激活步骤小福利&#xff08;安卓APP&#xff09;软件介绍软件下载安装步骤 前言 本篇文章主要针对WPS2019专业版的安装下载进行详细讲解&#xff0c;软件已激活&#xff0c;可放心使用&#xff1b;并且可以进行账号登录&#xff0c;进行…

Router路由的使用

目录 一.Vue Router的使用&#xff1a; 二.使用vue-router来实现登录页面与主页面展示效果&#xff1a; 1.创建 index.js &#xff1a; 2.在 main.js 导入创建的路由器&#xff1a; 3.在App.vue声明标签&#xff1a; 三.子路由的使用&#xff1a; 1.添加五个组件 2.配置…

光线追踪(纹理映射)

最近在跟着ray trace in one week来学习光线追踪&#xff08;很多概念茅塞顿开&#xff09;做到一半想着记录一下&#xff08;比较随心&#xff09;上面是之前的效果。ray trace in one week Texture Coordinates for Spheres&#xff08;球体纹理坐标&#xff09; u, v 纹理…

K-means聚类算法原理解析

度量最小距离 对于 K-means 聚类算法而言&#xff0c;找到质心是一项既核心又重要的任务&#xff0c;找到质心才可以划分出距离质心最近样本点。从数学角度来讲就是让簇内样本点到达各自质心的距离总和最小。通过数学定义&#xff0c;我们将“质心”具象化&#xff0c;既然要使…

使用SpringBoot+Vue3开发项目(2)---- 设计文章分类的相关接口及页面

目录 一.所用技术栈&#xff1a; 二.后端开发&#xff1a; 1.文章分类列表渲染&#xff1a; 2.新增文章分类&#xff1a; 3.编辑文章分类&#xff1a; 4.删除文章分类 &#xff1a; 5.完整三层架构后端代码&#xff1a; &#xff08;1&#xff09;Controller层&#xff1a…

学习大数据DAY31 Python基础语法4和基于Python中的MySQL 编程

目录 Python 库 模块 time&datetime 库 连接 MySQL 操作 结构操作 数据增删改操作 数据查询操作 上机练习 7 面向对象 OOP 封装 继承 三层架构---面向对象思想模型层 数据层 业务逻辑显示层 上机练习 8 三层架构开发豆瓣网 关于我对 AI 写代码的看法&#xf…

大模型技术在企业应用中的实践与优化

【导读】大模型技术更新层出不穷&#xff0c;但对于众多企业及开发者而言&#xff0c;更为关键的命题则是如何进行应用落地&#xff0c;实现真正的智能化转型。本文系统且深入地探讨了大模型在企业应用中的关键环节和技术要点。从构建高质量的专属数据集、选择适宜的微调策略&a…

天线增益测试方法之射频器件S参数测试软件

天线增益的精确测量对于优化无线信号传输至关重要。NSAT-1000射频器件S参数测试软件作为针对S参数的测试设备&#xff0c;大幅提高了测试精度和效率。本文将为大家介绍该软件在天线增益测试方面的具体操作流程。 一、准备工作 在测试天线增益之前&#xff0c;需要准备好测试软件…

【启明智显分享】Model3A 7寸TFT触摸彩屏智能电压力锅解决方案

随着智能家居市场的快速发展&#xff0c;电压力锅作为厨房电器的代表之一&#xff0c;正逐步向智能化、高端化转型。为了进一步提升用户体验&#xff0c;增强产品竞争力&#xff0c;我们推出基于Model3A 7寸触摸彩屏电压力锅解决方案。该方案旨在通过Model3A芯片的强大性能与7寸…