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

【C语言】常见文件操作

在这里插入图片描述
在这里插入图片描述
文件的常见操作

#include<stdio.h>// 由于devc++代码编码为ANCI,故读取的文件中若有中文,请设置文件编码为ANCI,否则会乱码 // 读文件
void test1() {char ch;FILE *fp; // 创建文件指针fp = fopen("./file.txt", "r"); // 读取文件while((ch=fgetc(fp))!= EOF) {	// 访问文件中数据putchar(ch);	//输出文件中字符}fclose(fp);  // 关闭文件
}// 写单个字符到文件中 
void test2() {char ch;FILE *fp; // 创建文件指针fp = fopen("./file.txt", "r+");if (fp == NULL) {perror("Failed to open file");return;}// fputc(): 写单个字符 fputc('a', fp);rewind(fp); // 将文件指针移动到文件开头while ((ch = fgetc(fp)) != EOF) { // 访问文件中数据putchar(ch); // 输出文件中字符}fclose(fp); // 关闭文件
}// 写一个字符串到文件
void test3() {char in[50], out[50];FILE *fp = fopen("./file.txt", "w+"); // w+每次都会清空文件重新写 // 写入文件gets(in);fputs(in, fp);// 读取文件,首先将文件指针移动到文件头 rewind(fp);fgets(out, 50, fp);puts(out);fclose(fp);  // 关闭文件
} // 格式化写入文件
void test4() {int i = 3;float f = 4.50;FILE *fp = fopen("./file.txt", "w+");fprintf(fp, "%d, %6.2f",i,f);	// 格式化写入文件 fscanf(fp, "%d, %f", i, f);printf("%d %f",i ,f);fclose(fp);  // 关闭文件
} // 二进制读写文件
void test5() {float arr[5] = {1,2,3,4,5};float res[5];FILE *fp = fopen("./file.dat", "wb+"); // ------注意这里使用是wb+才可以对二进制文件操作 // 向文件写入一个数据块 arr是float类型的数组,每个元素占4字节,总共十个元素// 这里表示把整个数组都写入文件中 fwrite(arr, sizeof(float), 5,fp);rewind(fp);// 从文件中读取一个数据块 fread(res, sizeof(float), 5, fp);// 输出一下文件中内容,也就是res数组中读取的内容for (int i=0; i<5; i++) {printf("%f ", res[i]);} fclose(fp);  // 关闭文件
} 	int main() {
//	test1();
//	test2();
//	test3();
//	test4();test5();return 0;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • RK3588开发笔记-pdm接口ES7201音频采集调试记录
  • 安科瑞AEW100电力改造智能电力仪表,体积小巧
  • 深度学习分类:交叉熵
  • 瑞吉外卖--登录退出功能的实现
  • vscode教程
  • 【BES2500x系列 -- RTX5操作系统】Battery模块 -- 邮箱线程诞生的第一视角 -- osThreadDef --(十三)
  • 阿里巴巴发布Q1财报:电商份额趋稳,市场不再悲观
  • IPC 摄像头通过什么技术实现远程查看
  • 光储电站联合配置!多种调度模式下的光储电站经济性最优储能容量配置分析程序代码!
  • C++ | Leetcode C++题解之第372题超级次方
  • 支付宝小程序websocket长连接(心跳版本)
  • 文件包含漏洞(1)
  • IOS开发 铃声制作(库乐队)
  • Java笔试面试题AI答之线程(21)
  • Android - 自定义view
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 2017-08-04 前端日报
  • Java|序列化异常StreamCorruptedException的解决方法
  • java8-模拟hadoop
  • Koa2 之文件上传下载
  • pdf文件如何在线转换为jpg图片
  • 从零搭建Koa2 Server
  • 关于使用markdown的方法(引自CSDN教程)
  • 如何使用 JavaScript 解析 URL
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • (Windows环境)FFMPEG编译,包含编译x264以及x265
  • (第三期)书生大模型实战营——InternVL(冷笑话大师)部署微调实践
  • (五)Python 垃圾回收机制
  • (转)为C# Windows服务添加安装程序
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .net 按比例显示图片的缩略图
  • .Net的C#语言取月份数值对应的MonthName值
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • :=
  • @AliasFor 使用
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • [ C++ ] STL---仿函数与priority_queue
  • [AIGC] HashMap的扩容与缩容:动态调整容量以提高性能
  • [AIGC] 深入浅出 Python中的`enumerate`函数
  • [Android] 240204批量生成联系人,短信,通话记录的APK
  • [BUUCTF NewStarCTF 2023 公开赛道] week3 crypto/pwn
  • [codevs1288] 埃及分数
  • [HTML API]HTMLCollection
  • [JS入门到进阶] 哎,被vite小坑了一波,大家记得配置build.cssTarget为‘chrome61‘
  • [LeetCode][138]【学习日记】深拷贝带有随机指针的链表
  • [LeetCode]-Spiral Matrix III 螺旋矩阵
  • [Linux] 常用命令--版本信息/关机重启/目录/文件操作
  • [Linux]于Mac在配置Linuxserver安装Nginx+PHP
  • [Meachines] [Easy] Mirai Raspberry树莓派默认用户登录+USB挂载文件读取
  • [NOIP2011DAY1P1]铺地毯
  • [PHP] 代码重用与函数