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

fwrite fread与流定位相关接口

fgets与gets的区别

fgets:

从指定的已打开文件中读取最多一行数据(遇到n停止读取)

fgets保留\n字符并字符串末尾添加"\0"

fgets最多读取size-1个字符,最后一个位置存放"\0"

gets:

指定从终端设备读取数据

gets会将终端读到的"\n"字符替换成"\0"

gets是危险的,因为在读取时,没有大小的限制,可能造成内存越界

size_t fwrite(const void *ptr, size_t size,size_t nmeml,FILE *stream);

功能:向文件中写入nmemb个大小是size的数据到文件中

参数:

pt:要写入的数据的首地址

size:每个元素的字节数

nmemb:要写入的元素个数

stream:要写入的文件流指针

返回值:

成功:返回实际写入的元素个数

size t fread(void *ptr,size_t size,size_t mmemb,FILE *stream);

功能:从文件中读取mmemb个大小是size的元素

参数:

ptr:存储读取到数据的首地址

size:每个元素的大小

nmemb:希望从文件中读取的元素个数

stream:要读的文件流指针

返回值:

成功:实际读到的元素个数

读到文件末尾:0

fseek: int fseek(FILE *stream, long offset,

int whence)

功能:实现文件流重新定位

参数:

stream:需要定位的文件流指针;

offset:偏移量;whence:定位的相对位置

SEEK_SET:从头进行偏移

SEET_CUR:从当前位置开始偏移

SEET_END:从文件末尾偏移

返回值:

成功:返回当前的偏移量;

失败:-1

ftell:

long ftell(FILE *stream);

功能:获取流的当前位置到文开头的偏移量

参数:

stream:文件流

返回:

偏移量:byte

rewind: void rewind(FILE *stream)

功能:流复位函数 (复位到开头);等价于

fseek(fp, O, SEEK_SET);

http://www.dtcms.com/a/325513.html

相关文章:

  • CoreShop商城框架开启多租户(1)
  • 下一个排列 的 思路总结
  • OrbStack 入门教程:macOS 上的轻量级容器与虚拟机管理工具
  • macOS 搭建 Gitea 私有 Git 服务器教程
  • Mac配置服务器工具Royal TSX
  • SDI设计中,为何SD-SDI模式下,接收器用DRU实现,在3G-SDI模式下,使用transceiver实现
  • 2508C++,检测S模式
  • Docker 网络-单机版
  • 华为watch5心率变异性测量法的底层逻辑
  • 『“无恙心宽”,梗痛不常』——爱上古中医(12)(健康生活是coder抒写优质代码的前提条件——《黄帝内经》伴读学习纪要)
  • 【C语言】知识详细梳理!共计30万余字!
  • 《 慢 SQL 分析与 SQL 优化实战指南》
  • 用 Docker 安装并启动 Redis:从入门到实战
  • Flutter Provider 状态管理全面解析与实战应用:从入门到精通
  • 帝国理工学院团队研发:Missense3D-PTMdb—— 解析遗传变异与翻译后修饰的交互式工具
  • 基于开源模型构建医疗疾病大模型:从理论到实践
  • 【08】华汉伟业——华汉伟业 嵌入式 C笔试,校招,题目记录及解析
  • 聊天室全栈开发-保姆级教程(Node.js+Websocket+Redis+HTML+CSS)
  • Nginx负载均衡教程:应对网站流量暴增的实战指南 (2025)
  • C#项目上传git常见的忽略项目和推荐配置
  • MySQL,Redis重点面试题
  • SharePlay确保最佳游戏体验
  • [Shell编程] Shell 编程之免交互
  • 【CV 目标检测】①——目标检测概述
  • 每日五个pyecharts可视化图表-line:从入门到精通 (3)
  • 如何网络“钓鱼”,钓鱼鱼饵生成工具CobaltStrike使用
  • LangVM —— 一站式多语言版本管理工具,让 Java、Python、Go、Node.js 切换更丝滑
  • 运维学习Day21——LAMP/LNMP 最佳实践
  • Django Request 与 DRF Request 的区别
  • 从 GPT-2 到 gpt-oss:架构进步分析