嵌入式Linux学习DAY19

函数接口

fgetc(a):从流中读取一个字符----调用一次读取向后读取一次(因为被操作数为流)

                                                流被读完后会产生错误----用来作为读取结束的条件

fgetc/fputc与getchar/putchar的区别-------没有区别

fputs(a,b):将a打印到b内,若b为stdout,则打入终端

使用示例:将1.txt内容写入2.txt中

 #include<stdio.h>int main(void){                                                char c;FILE *a=NULL;a=fopen("1.txt","r");FILE *b=NULL;b=fopen("2.txt","w");while(1){c=fgetc(a);fputc(c,b);if(c==EOF){break;}}}

fputs(const *s,FILE *stream):fputs(a,b)将a中的值写入b中

fgets(const *s,int size,FILE *stream):fgets(a,b,c)从流c中读取(b-1)//留值存\0//个大小的值存到a,若读到\n就直接停止,不再读取,并在结尾加上\0.

---------------------------------以上函数只能操作ascii码文件

如何刷新偏移量-----关闭文件后再开启。

puts与fputs的区别:puts会在字符串末尾多打印\n,fputs不会多打印\n。

gets与fgets的区别:gets会去掉\n,fgets不会去掉\n,gets没有给定读取个数,容易越界,fgets有范围,不会越界。

二进制文件的操作

也能操作ascii码文件

fwrite(const void *a,size_t b,size_t c,FILE *d):

        功能:向d中写入c个字符,每个b个字节大小,从a中取

        返回值:成功返回写入的字符个数

fread(const void *a,size_t b,size_t c,FILE *d);

        功能:读取d中的c个字符,每个字符b个字节大小,存到a中

fscanf(a,"字符串",&字符型)

        功能:将格式化的字符串输入到文件a中

fprintf(a,"字符串",字符型)

        功能:将格式化的字符串输出到文件a中。

流的定位

ftell(a)

        功能:获得流的偏移量

rewind (a)       

        功能:将流的偏移量重新回到开头

fseek(a,b,whence)

        功能:设置流的偏移量

        b>0----向后偏移

        b<0----向前偏移

        whence:

                        SEEK—SET开头,b=0;

                        SEEK—CUR当前位置

                        SEEK__END结尾,b=0;

 

 

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

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

相关文章

微信小程序合集更更更之实现仿网易云播放动效

实现效果 写在最后&#x1f352; 源码&#xff0c;关注&#x1f365;苏苏的bug&#xff0c;&#x1f361;苏苏的github&#xff0c;&#x1f36a;苏苏的码云~

鸿蒙开发-UI-组件导航-Tabs

鸿蒙开发-UI-组件 鸿蒙开发-UI-组件2 鸿蒙开发-UI-组件3 鸿蒙开发-UI-气泡/菜单 鸿蒙开发-UI-页面路由 鸿蒙开发-UI-组件导航-Navigation 文章目录 一、基本概念 二、导航 1.底部导航 2.顶部导航 3.侧边导航 4.导航栏限制滑动 三、导航栏 1.固定导航栏 2.滚动导航栏 3…

写后台接口,前后台数据对接(vue+springboot)

一、怎么写接口&#xff1f;&#xff1f;&#xff1f; 1.Entity&#xff08;定义一堆属性之类的&#xff09; altins>getter和setter方法 2.Controller 3.Service&#xff08;查询出数据&#xff09; 调用了一个方法 4.Mapper 5.回到service&#xff08;返回数据&#x…

2024年微信公众号链接爬取

通过输入&#xff08;或文件导入&#xff09;公众号名称&#xff0c;即可爬取该公众号所有历史文章。 通过公众号官方网站调用API&#xff0c;打开开发者工具后发现有 打开后发现有搜索结果的fakeid&#xff0c;这是每个公众号的标识。 点击某公众号后出现 这是具体公众号文章…

Windows中如何使用 Anaconda 和 gempy地质建模

GemPy是一个免费开源的Python软件包&#xff0c;主要用于建立三维地质模型。以下是windows下GemPy的安装过程。 一、&#xff08;可选步骤&#xff09;N卡加速 如果使用的是英伟达的RTX显卡&#xff0c;可以去N卡官网下载cuda安装包以启用GPU加速。 首先检查显卡支持的CUDA版…

二层交换机配置以太网通道

实验大纲 二层聚合端口配置 1.构建网络拓扑结构图 2.修改交换机名字 3.创建聚合组进入聚合接口模式 4.将端口绑定到聚合端口&#xff08;接口模式&#xff09; 5.聚合接口下端口配置&#xff08;聚合接口模式) 6.具体配置 7.验证端口通道1的状态 8.配置ip 9.测试连通…

外汇天眼:欧洲证券和市场管理局(ESMA)撤销对迪拜商品清算公司的欧盟认可

欧洲证券与市场管理局&#xff08;ESMA&#xff09;宣布&#xff0c;欧洲监管机构&#xff08;EBA、EIOPA和ESMA - 即ESA的联合上诉委员会&#xff09;一致决定驳回迪拜商品清算公司&#xff08;DCCC&#xff09;对ESMA提起的上诉&#xff0c;并因此确认ESMA决定撤销其认可。DC…

分析网站架构:浏览器插件

一、Wappalyzer 1.1 介绍 Wappalyzer 是一款用于识别网站所使用技术栈的浏览器插件。它能够分析正在浏览的网页&#xff0c;检测出网站所使用的各种技术和框架&#xff0c;如内容管理系统&#xff08;CMS&#xff09;、JavaScript库、Web服务器等。用户只需安装 Wappalyzer 插…

1755. 最接近目标值的子序列和

Problem: 1755. 最接近目标值的子序列和 文章目录 思路解题方法复杂度Code 思路 给你一个整数数组 nums 和一个目标值 goal。你需要从 nums 中选出一个子序列&#xff0c;使子序列元素总和最接近 goal。也就是说&#xff0c;如果子序列元素和为 sum &#xff0c;你需要 最小化绝…

Mac安装nvm装完项目内node找不到

教程&#xff1a;NVM 快速安装教程 - 知乎 装完只有装了nvm下的目录里能找到node&nvm&#xff0c;解决方法&#xff1a; 配置node环境变量 进入/etc目录下 复制profile文件(readonly)&#xff0c;重命名profile-copy vi profile-copy 输入i开始编辑文件 加入node的环…

春节放大招,阿里通义千问Qwen1.5开源发布

2月6日阿里发布了通义千问1.5版本&#xff0c;包含6个大小的模型&#xff0c;“Qwen” 指的是基础语言模型&#xff0c;而 “Qwen-Chat” 则指的是通过后训练技术如SFT&#xff08;有监督微调&#xff09;和RLHF&#xff08;强化学习人类反馈&#xff09;训练的聊天模型。 模型…

golang 通过 cgo 调用 C++ 库

思路 将 C 库包装成 C 库 -> golang 通过 cgo 调用 C 库 C 相关文件 目录列表 include/ some.h C 库头文件some_wrapper.h < 用于将 C 库包装成 C 库的头文件 lib/ libsome.a C 库 src/ some_wrapper.cpp < 用于将 C 库包装成 C 库的源码文件 源码示例 some.h…

113.乐理基础-五线谱-五线谱的调号(二)

内容参考于&#xff1a;三分钟音乐社 上一个内容&#xff1a;五线谱的调号&#xff08;一&#xff09;-CSDN博客 调号一共有15个&#xff1a;如下图 上一个内容里写了&#xff0c;C、D、E、F、G、A、B这七个调号&#xff0c;如下图 然后所有调号的五线谱版本&#xff1a; 然后…

博客|基于Springboot的个人博客系统设计与实现(源码+数据库+文档)

个人博客系统目录 目录 基于Springboot的个人博客系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员功能实现 &#xff08;1&#xff09;用户管理 &#xff08;2&#xff09;文章分类管理 &#xff08;3&#xff09;公告信息管理 &#xff08;4&#…

re:从0开始的CSS学习之路 5. 颜色单位

0. 写在前面 没想到在CSS里也要再次了解这些颜色单位&#xff0c;感觉回到了大二的数字图像处理&#xff0c;可惜现在已经大四了&#xff0c;感觉并没有学会什么AI的东西 1. 颜色单位 预定义颜色名&#xff1a;HTML和CSS规定了147种颜色名。例如&#xff1a;red yellow green …

Harbor介绍、整体架构和安装

Harbor介绍、整体架构和安装 文章目录 Harbor介绍、整体架构和安装1.Harbor介绍2.Harbor 整体架构3.安装Harbor3.1 主机初始化3.1.1 设置ip地址3.1.2 配置镜像源3.1.3 关闭防火墙3.1.4 禁用SELinux3.1.5 禁用swap3.1.6 设置时区 3.2 安装docker3.3 安装docker compose3.4 下载H…

kafka 文件存储机制

文章目录 1. 思考四个问题&#xff1a;1.1 topic中partition存储分布&#xff1a;1.2 partiton中文件存储方式&#xff1a;1.3 partiton中segment文件存储结构&#xff1a;1.4 在partition中如何通过offset查找message: 2. kafka日志存储参数配置 Topic是逻辑上的概念&#xff…

彻底弄懂mktemp命令的作用

mktemp 是一个在 Unix 和类 Unix 系统中用于创建临时文件或目录的命令行工具。它属于 GNU coreutils 套件的一部分。mktemp 的主要优点是它能够生成一个唯一的文件名&#xff0c;这有助于避免文件名冲突&#xff0c;并且可以安全地创建临时文件&#xff0c;因为这些文件通常只有…

EMC学习笔记(二十二)降低EMI的PCB设计指南(二)

降低EMI的PCB设计指南&#xff08;二&#xff09; 1.电源和地概述2.电感量3.两层板和四层板4.单层和双层设计中的微控制器接地5.信号返回地6.模拟、数字信号与大功率电源7.模拟电源引脚和模拟参考电源8.四层板电源设计参考注意事项 tips&#xff1a;资料主要来自网络&#xff0…

Unreal Engine 中的插值方法示例

1. 线性插值 线性插值方法 FMath::Lerp。这个方法用于在两个值之间进行线性插值&#xff0c;通过调整插值比例&#xff08;Alpha&#xff09;&#xff0c;我们可以实现平滑的数值过渡。下面是一个简单的例子&#xff1a; float FMath::Lerp(float A, float B, float Alpha); …