【C语言】常见文件操作

devtools/2024/9/24 6:24:29/

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

#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;
}

http://www.ppmy.cn/devtools/100132.html

相关文章

服务发现与负载均衡基础概念

服务发现和负载均衡是分布式系统中的两个关键技术&#xff0c;它们为系统的高可用性、可扩展性和灵活性提供了基础。下面我将详细讲解这两个概念及其在现代系统中的重要性、实现方式和常见的工具。 一、服务发现&#xff08;Service Discovery&#xff09; 1.1 . 什么是服务发…

OpenCV基本使用教程

OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉库&#xff0c;用于处理图像和视频的分析和处理。下面是OpenCV的基本使用教程&#xff1a; 安装OpenCV&#xff1a;首先需要下载和安装OpenCV库。可以在OpenCV的官方网站上找到适合你…

代码随想录Day 23|回溯Part02,39.组合总和、40.组合总和Ⅱ、131.分割回文串

提示&#xff1a;DDU&#xff0c;供自己复习使用。欢迎大家前来讨论~ 文章目录 第七章 回溯算法part03一、题目题目一&#xff1a; 39. 组合总和解题思路&#xff1a;回溯三部曲剪枝优化小结&#xff1a; 题目二&#xff1a;40.组合总和Ⅱ解题思路&#xff1a;回溯三部曲 题目…

Python高光谱遥感数据处理与机器学习深度应用

高光谱遥感信息对于我们认识世界具有重要意义。尽管大部分物质在人眼中看似无异&#xff0c;然而高光谱遥感的观察下&#xff0c;它们呈现出独特的"光谱特征"。这种能够窥见事物的"本质"能力具备着革命性的潜能&#xff0c;对精准农业、地球观测、艺术分析…

计算机视觉编程

目录 灰色度 缩略图 拷贝粘贴区域 调整图像尺寸 旋转图像45 画图线、描点 灰色度 灰度是指图像中每个像素的亮度值&#xff0c;用来描述图像中各个像素的明暗程度。在计算机视觉中&#xff0c;灰度可以通过以下方式来计算&#xff1a; 1. 平均值法&#xff1a;将图像中每…

《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 07数据中心的边缘

本章将帮助你回答以下问题 可以用哪些方式将 Clos 拓扑连接到外部网终?边缘部署路由协议的最佳实践是什么?企业应如何处理混合云中的连接? 连接模型 为什么要连接到外部世界? 数据中心连接到外部世界的原因很多。如果你要对外提供某种服务(例如搜索服务广告推荐系统或内…

【SpringCloud Alibaba】(九)学习 Gateway 服务网关

目录 1、网关概述1.1、没有网关的弊端1.2、引入 API 网关 2、主流的 API 网关2.1、NginxLua2.2、Kong 网关2.3、Zuul 网关2.4、Apache Shenyu 网关2.5、SpringCloud Gateway 网关 3、SpringCloud Gateway 网关3.1、Gateway 概述3.2、Gateway 核心架构 4、项目整合 SpringCloud …

Golang学习笔记-Golang中的锁

同步原语和锁 Golang作为一个原生支持用户态的语言&#xff0c;当提到并发进程&#xff0c;多线程的时候&#xff0c;是离不开锁的&#xff0c;锁是一种并发编程中的同步原语&#xff08;Synchronization Primitives&#xff09;&#xff0c;它能保证多个 Goroutine 在访问同一…