当前位置: 首页 > news >正文

嵌入式开发之刷新流

什么样情况下流自动刷新缓冲区?

  • 全缓冲:缓冲区满的时候刷新缓冲区;
  • 行缓冲:当缓冲区满的时候或者遇到‘\n’行符的时候刷新缓冲区;
  • 流关闭的时候,检查如果流的缓冲区还有数据,则刷新。
  • fflush函数手动刷新缓冲区;

int fflush(FILE *fp);

  • 成功时返回0;出错时返回EOF;
  • 将流缓冲区中的数据写入实际的文件;
  • Linux下只能刷新输出缓冲区;
代码示例:
#include <stdio.h>int main()
{FILE *fp;if((fp = fopen("test.txt","w")) == "NULL"){perror("fopen");return -1;}fputc('a',fp);  //只是写到流的缓冲区fflush(fp);  //强制刷新缓冲器while(1);return 0;
}

定位流 ftell/fseek/rewind

读写流时,当前读写位置会自动后移。

1、long ftell(FILE *stream); //返回指定流的当前读取位置,出错时返回EOF。

2、long fseek(FILE *stream,long offset,int whence); //,成功返回0,出错返回EOF。设定当前流的读取位置,whence是一个


http://www.mrgr.cn/news/65108.html

相关文章:

  • Vue3 keep-alive核心源码的解析
  • 1-ARM Linux驱动开发-MIO控制
  • Ubuntu学习笔记 - Day2
  • 数字证书的简单记录
  • 10K Star!一款特别好用的 AI 大模型知识库问答系统:MaxKB
  • 【Rust中的序列化:Serde(一)】
  • 51c大模型~合集10
  • Python毕业设计选题:基于Hadoop的租房数据分析系统的设计与实现
  • HTML5+css3(伪类,动态伪类,结构伪类,否定伪类,UI伪类,语言伪类,link,hover,active,visited,focus)
  • 基于AI大模型的图书推荐平台社区:NextRead
  • 3分钟认识API是什么
  • CCF PTA 编程培训师资认证真题-试题编号:20210701-1
  • torch维度1-》n ,k对k都是可以广播的
  • (undone) MIT6.S081 2023 一个月速通 (Day2: LAB1 Utilities)
  • 音频模型介绍
  • LM Head weights;ChatGPT-3词汇量:175,000;llama7b 词汇量,词嵌入维度:4096
  • 苍穹外卖 查询订单明细
  • 删除 git submodule
  • 软件测试--BUG篇
  • SAR_ADC介绍和建模
  • 长期缺乏技术规划的后果与应对策略
  • 大型音频模型:AudioLLMs
  • 在美团外卖上抢券 Python来实现
  • 负载均衡算法
  • [vulnhub] DC: 8
  • 【098】基于SpringBoot+Vue实现的垃圾分类系统