c系列_文件读取和写入

news/2025/3/5 3:14:45/文章来源:https://www.cnblogs.com/fyxa/p/18751846

C语言写入文件

在C语言中,写入文件通常使用标准库函数 fopenfprintffwritefclose。以下是一个简单的示例,演示如何将文本写入文件。

#include <stdio.h>int main() {// 打开文件以写入模式 ("w" 表示写入)FILE *file = fopen("output.txt", "w");// 检查文件是否成功打开if (file == NULL) {printf("无法打开文件\n");return 1;}// 写入文本到文件fprintf(file, "Hello, World!\n");// 关闭文件fclose(file);printf("写入完成\n");return 0;
}

详细步骤

  1. 打开文件: 使用 fopen 函数打开文件。第一个参数是文件名,第二个参数是模式,这里使用 "w" 表示写入模式。如果文件不存在,会创建一个新文件;如果文件存在,会清空文件内容。
  2. 检查文件指针: 确保文件成功打开。如果 fopen 返回 NULL,表示文件打开失败。
  3. 写入内容: 使用 fprintf 函数将文本写入文件。fprintf 的用法类似于 printf,但它的第一个参数是文件指针。
  4. 关闭文件: 使用 fclose 函数关闭文件,确保所有缓冲区的数据都写入文件。

注意事项

  • 如果需要追加内容到文件,可以将模式 "w" 改为 "a",表示追加模式。
  • 使用 fwrite 可以写入二进制数据,适用于非文本文件的写入。
#include <stdio.h>int main() {FILE *file = fopen("output.bin", "wb");if (file == NULL) {printf("无法打开文件\n");return 1;}int data = 12345;fwrite(&data, sizeof(int), 1, file);fclose(file);printf("二进制写入完成\n");return 0;
}

以上示例展示了如何将整数写入二进制文件。

读取文件

在C语言中,读取文件通常使用标准库函数 fopenfscanffreadfclose。以下是一个简单的示例,演示如何从文本文件读取内容。

#include <stdio.h>int main() {// 打开文件以读取模式 ("r" 表示读取)FILE *file = fopen("output.txt", "r");// 检查文件是否成功打开if (file == NULL) {printf("无法打开文件\n");return 1;}// 读取文本内容char buffer[100];while (fgets(buffer, sizeof(buffer), file) != NULL) {printf("%s", buffer);}// 关闭文件fclose(file);return 0;
}

详细步骤

  1. 打开文件: 使用 fopen 函数打开文件。第一个参数是文件名,第二个参数是模式,这里使用 "r" 表示读取模式。
  2. 检查文件指针: 确保文件成功打开。如果 fopen 返回 NULL,表示文件打开失败。
  3. 读取内容: 使用 fgets 函数从文件中读取文本行。fgets 的第一个参数是存储读取内容的缓冲区,第二个参数是缓冲区大小,第三个参数是文件指针。
  4. 关闭文件: 使用 fclose 函数关闭文件。

注意事项

  • 如果需要读取二进制文件,可以将模式 "r" 改为 "rb",并使用 fread 函数读取数据。
  • 使用 fscanf 可以读取格式化的文本数据,适用于结构化文本文件的读取。
#include <stdio.h>int main() {FILE *file = fopen("output.bin", "rb");if (file == NULL) {printf("无法打开文件\n");return 1;}int data;fread(&data, sizeof(int), 1, file);fclose(file);printf("读取的二进制数据: %d\n", data);return 0;
}

以上示例展示了如何从二进制文件读取整数数据。

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

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

相关文章

React—11—redux

一、redux概念 ◼ JavaScript开发的应用程序,已经变得越来越复杂了:  JavaScript需要管理的状态越来越多,越来越复杂;  这些状态包括服务器返回的数据、缓存数据、用户操作产生的数据等等,也包括一些UI的状态,比如某些元素是否被选中,是否显示 加载动效,当前分页;…

ENSP中路由配置实验(静态路由、NAT转换、项目实例搭建)

一、实验一:静态路由配置 现在管理员拥有这三个路由的控制权 1、要求使得三个局域网下的主机能够互相访问,具体地址分配见下图2、操作遇到一个插曲,启动路由器时报40号错误,查阅官方技术文档进行自检修复无果 最后终于找到一个解决方案,来自哔哩哔哩视频下的某个评论 其实是…

欢迎屏幕和新的用户帐户设置;当前用户、欢迎屏幕(系统帐户)和新用户帐户的设置;注册表位置

欢迎屏幕和新的用户帐户设置下面显示的是当前用户、欢迎屏幕(系统帐户)和新用户帐户的设置(S)。当前用户显示语言:中文(简体)输入语言:简体中文(中国大陆)-微软拼音格式:简体中文(中国大陆)位置:中国欢迎屏幕显示语言:中文(简体)输入语言:简体中文(中国大陆)-微软拼音格…

Codeforces Round 757 (Div. 2)

我不知道为什么要补这一个远古场,但是确实里面几道题有点意思。C. Divan and bitwise operations 显然,我们可以得到整个序列的按位或就是所有 \(x\) 的按位或,设为 \(S\)。 如果 \(S\) 的第 \(i\) 位为 \(0\),贡献即为 \(0\)。 否则总有一个 \(1\),当中恰有一个对应贡献为…

[AI/GPT/LLOps/AI中台] Dify : 开源AI大模型应用开发平台(Apache 2.0)

概述:DifyDify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。 即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。 由于 Dify 内置了构建 LLM 应用所需…

[AI/GPT] Dify : 开源AI大模型可视化终端应用(Apache 2.0)

概述:DifyDify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。 即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。 由于 Dify 内置了构建 LLM 应用所需…

在时光的褶皱里种一株月光

少年哇,你能同时拥有青春和对青春的感受吗?——欲买桂花同载酒,终不似,少年游!晨露未晞时,凝视窗台上的水痕,那些蜿蜒的纹路像极了未被解码的生命线。某个起雾的清晨突然懂得,人生原是时光长河里的倒影——我们总在追逐波光粼粼的远方,却不知每一道涟漪的褶皱里,都藏…

Jenkins 自动化搭建测试环境

安装 Jenkins 下载地址:https://www.jenkins.io/zh/ 博主服务器是jdk1.8,需要安装 2.346.1 或之前版本。下载war包即可。启动 Jenkins: java -jar jenkins.war --httpPort=8080启动成功后访问 http://localhost:8080/查看并输入密码文件中的管理员密码可以安装推荐的插件,更…

一文讲透 AI Agent 与 AI Workflow

一、引言 在人工智能技术快速迭代的今天,我们正见证着 AI 应用模式的多元化发展。 其中,AI Agent 和 AI Workflow 作为两种截然不同的范式,正在重塑我们对 AI 应用的认知。 这两种模式就像是同一枚硬币的两面 —— 一个追求灵活创新,另一个注重稳定高效。 今天正好在群里有…

postman上传图片的base64

不要添加前缀 控制器和类@PostMapping("text-only")public List<TextDto> ocrTextOnly(@RequestBody OcrParam ocrParam) {//TODOreturn ocrapiService.ocrText(ocrParam.getImgBase64(),ocrParam.getImgType());}@Data @NoArgsConstructor @AllArgsConstructo…

关于从化0你想知道的都在这里

https://xsjcloud.com V*x:gzydc0 先上AI: 广州移动的从化0月租卡,即“神州行大众卡”,以其0月租、接听免费的特点受到关注。然而,根据现有信息,该套餐已下架,成为绝版。目前,办理此套餐需要通过特定渠道,且需在广州润粤营业厅激活号码。优点:无月租费用:真正实现0月…

当懒惰遇上AI:我如何用Coze让大模型帮我整理2.5万字课程笔记

能写代码绝不动手,能用AI绝不写代码 —— AI粉嫩特攻队信条通过本文学会打造这个AI工具,只有一个要求:识字且会上网! 一个小困扰 有朋友最近在上一位大佬的线上直播课程,感叹道: "老师讲得很好但节奏太快,根本来不及记录详细笔记,只能速记要点。课后想不起完整内容又…