【C语言】熟悉文件顺序读写函数

前言

本篇详细介绍了 文件顺序读写常用函数,快来看看吧~

欢迎关注个人主页:逸狼


创造不易,可以点点赞吗~

如有错误,欢迎指出~


目录

前言

​编辑

文件顺序读写函数

fgetc函数

示例

fputc函数

逐个字符写入

写入26个字母

文件拷贝

fgets函数

fputs函数

读键盘上的字符,再打印在屏幕上

fprintf函数

示例

fscanf函数

示例

fwrite函数

示例

fread函数

示例

sprintf函数

示例

sscanf函数

示例

函数对比

scanf与printf

fscanf与fprintf

sscanf与sprintf


文件顺序读写函数

fgetc函数

用于读取文件内的单个字符

示例

fputc函数

用于将单个字符写入文件中

逐个字符写入

写入26个字母

文件拷贝


写一个代码,完成将data1.txt文件的内容 拷贝一份生成data2.txt


#include<stdio.h>
int main()
{
	FILE* pfread = fopen("data1.txt", "r");
	if (pfread == NULL)
	{
		perror("fopen->data1.txt");
		return 1;
	}
	FILE* pfwrite = fopen("data2.txt", "w");
	if (pfwrite == NULL)
	{
		fclose(pfread);//判断为真后,要将pfread置为空指针
		pfread = NULL;
		perror("fopen->data2.txt");
		return 1;
	}
	//数据的读写(拷贝)
	int ch = 0;
	//每读一个字符就放入ch中,直到读完为止
	while ((ch = fgetc(pfread)) != EOF)
	{
		fputc(ch, pfwrite);//写入data2.txt文件中
	}
	fclose(pfread);
	fclose(pfwrite);
	return 0;
}

fgets函数

读取一行字符

#include<stdio.h>
int main()
{
	FILE* pf = fopen("data.txt", "r");
	if (pf == NULL)
	{
		perror("fopen->data1.txt");
		return 1;
	}
	//读一行
	//最多读num-1个字符,第num个字符放\0
	char arr[20] = "xxxxxxxxxxxxx";
	fgets(arr, 10, pf);

	fclose(pf);
	pf = NULL;

}

fputs函数

写入一行字符

#include<stdio.h>
int main()
{
	FILE* pf = fopen("data.txt", "w");
	if (pf == NULL)
	{
		perror("fopen->data1.txt");
		return 1;
	}
	//写文件  写一行
	fputs("abcdef\n", pf);
	fputs("abcdef\n", pf);
	fputs("abcdef\n", pf);

	fclose(pf);
	pf = NULL;

}

读键盘上的字符,再打印在屏幕上

fprintf函数

格式化打印在文件上,参数比printf 多了一个文件指针
 

示例

fscanf函数

示例

fwrite函数

以二进制形式写文件

示例

fread函数

以二进制形式读文件

示例

sprintf函数

将格式化数据转换成字符串

示例

sscanf函数

读取字符串并放入标准化数据中

示例

函数对比

scanf与printf

  •  scanf针对标准输入(键盘)的格式化输入函数
  •  printf 针对标准输出(屏幕)的格式化输出函数

fscanf与fprintf

  •  fscanf针对所有输入流的格式化输入的函数
  •  fprintf 针对所有输出流的格式化输出的函数

sscanf与sprintf

  •  sscanf 从一个字符串读取一个格式化的数据
  •  sprintf 把一个格式化的数据转换成字符串
     

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

element-plus+vue3表单含图片(可预览)(线上图片)

一、要实现的效果&#xff1a; 二、如果期间出现这样的效果&#xff08;表格穿透过来了&#xff09;&#xff0c;加上了这行代码就可以了&#xff1a; preview-teleported“true” 如果仅测试用&#xff0c;建议使用线上图片链接的形式&#xff0c;免得本地地址不生效&#xf…

STM32 DMA入门指导

什么是DMA DMA&#xff0c;全称直接存储器访问&#xff08;Direct Memory Access&#xff09;&#xff0c;是一种允许硬件子系统直接读写系统内存的技术&#xff0c;无需中央处理单元&#xff08;CPU&#xff09;的介入。下面是DMA的工作原理概述&#xff1a; 数据传输触发&am…

《Spring Security 简易速速上手小册》第9章 测试与维护 (2024 最新版)

文章目录 9.1 编写安全测试9.1.1 基础知识9.1.2 重点案例&#xff1a;保护 REST API9.1.3 拓展案例 1&#xff1a;自定义登录逻辑测试9.1.4 拓展案例 2&#xff1a;CSRF 保护测试 9.2 Spring Security 升级和维护9.2.1 基础知识9.2.2 重点案例&#xff1a;适配新的密码存储格式…

贪吃蛇(C语言)步骤讲解

一&#xff1a;文章大概 使用C语言在windows环境的控制台中模拟实现经典小游戏 实现基本功能&#xff1a; 1.贪吃蛇地图绘制 2.蛇吃食物的功能&#xff08;上&#xff0c;下&#xff0c;左&#xff0c;右方向控制蛇的动作&#xff09; 3.蛇撞墙死亡 4.计算得分 5.蛇身加…

【数据结构与算法】整数二分

问题描述 对一个排好序的数组&#xff0c;要求找到大于等于7的最小位置和小于等于7的最大位置 大于等于7的最小位置 易知从某个点开始到最右边的边界都满足条件&#xff0c;我们要找到这个区域的最左边的点。 开始二分&#xff01; left指针指向最左边界&#xff0c;right…

STM32单片机示例:ETH_DP83848_DHCP_NonOS_Poll_F407

文章目录 目的基础说明主要配置关键代码示例演示示例链接关于中断总结 目的 以太网是比较常用到的功能&#xff0c;这篇文章讲演示在STM32F407上启用以太网功能&#xff0c;使之能够加入网络中&#xff0c;通过DHCP获得IP地址&#xff0c;可以被Ping通。 基础说明 STM32F407…

C++ 补充之常用遍历算法

C遍历算法和原理 C标准库提供了丰富的遍历算法&#xff0c;涵盖了各种不同的功能。以下是一些常见的C遍历算法以及它们的概念和原理的简要讲解&#xff1a; for_each&#xff1a;对容器中的每个元素应用指定的函数。 概念&#xff1a;对于给定的容器和一个可调用对象&#xff…

LeetCode 热题 HOT 100(P1~P10)

&#x1f525; LeetCode 热题 HOT 100 这里记录下刷题过程中的心得&#xff0c;其实算法题基本就是个套路问题&#xff0c;很多时候你不知道套路或者模板&#xff0c;第一次尝试去做的时候就会非常懵逼、沮丧和无助。而且就算你一时理解并掌握了&#xff0c;过一段时间往往会绝…

#WEB前端(CSS基础)

1.实验&#xff1a;HTML是网页骨架&#xff0c;CCS是网页装修 2.IDE&#xff1a;VSCODE 3.记录&#xff1a; style 4.代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"view…

为什么模电这么难学?这是我见过最好的回答

大家好&#xff0c;我是砖一&#xff0c;有很多人抱怨模电难学&#xff0c;被誉为电子信息挂科率最高之一&#xff0c;下面听我分析一下为啥模电这么难学&#xff1f; 01 理科的抽象思维 在高等教育体系中&#xff0c;模电是涉及半导体方向的第一门工程类课程&#xff0c;是一…

Unity中URP下实现水体(C#动态生成渐变图)

文章目录 前言一、Shader部分1、申明水渐变图纹理和采样器2、在片元着色器&#xff0c;进行纹理采样&#xff0c;并且输出 二、C#脚本部分1、我们新建一个C#脚本2、我们定义两个变量3、在Start内&#xff0c;new 一个Texture2D(宽&#xff0c;高)4、定义一个Color[宽*高]的颜色…

Flink状态存储-StateBackend

文章目录 前言一、MemoryStateBackend二、FSStateBackend三、RocksDBStateBackend四、StateBackend配置方式五、状态持久化六、状态重分布OperatorState 重分布KeyedState 重分布 七、状态过期 前言 Flink是一个流处理框架&#xff0c;它需要对数据流进行状态管理以支持复杂的…

25高数考研张宇 -- 公式总结(更新中)

1. 两个重要极限 (1) lim ⁡ x → 0 sin ⁡ x x 1 \lim _{x \rightarrow 0} \frac{\sin x}{x}1 limx→0​xsinx​1, 推广形式 lim ⁡ f ( x ) → 0 sin ⁡ f ( x ) f ( x ) 1 \lim _{f(x) \rightarrow 0} \frac{\sin f(x)}{f(x)}1 limf(x)→0​f(x)sinf(x)​1. (2) lim ⁡…

电子电器架构 —— DoIP协议相关的介绍

电子电器架构 —— DoIP协议相关的介绍 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生在世,最怕…

BEVFusion

1. 简介 融合激光雷达和相机的信息已经变成了3D目标检测的一个标准&#xff0c;当前的方法依赖于激光雷达传感器的点云作为查询&#xff0c;以利用图像空间的特征。然而&#xff0c;人们发现&#xff0c;这种基本假设使得当前的融合框架无法在发生 LiDAR 故障时做出任何预测&a…

U盘弹出提示“该设备正在使用中”:原因与解决方案

在日常使用U盘时&#xff0c;我们可能会遇到一个问题&#xff1a;当尝试安全弹出U盘时&#xff0c;系统提示“该设备正在使用中”。这种情况可能会让用户感到困惑&#xff0c;担心数据是否安全或是否会导致U盘损坏。本文旨在探讨这一现象背后的原因&#xff0c;并提供相应的解决…

Python 自动化给女友发邮件:含新闻、天气、每日一句、图片 最全攻略系列02 如何添加emoji

Python 自动化给女友发邮件:含新闻、天气、每日一句、图片 最全攻略系列 是否想在女友面前展示程序员炫酷的一面? 是否想给她每日问候但是害怕忘记固定时间发送信息? 是否也羡慕别人可以优雅使用Python定时发送邮件? 欢迎来到Python自动化发邮件最全攻略系列,本系列将…

软考54-上午题-【数据库】-关系模式的范式-真题

一、范式总结 第一步&#xff0c;先求候选码&#xff0c;由此得到&#xff1a;主属性、非主属性。 二、判断部分函数依赖的技巧 【回顾】&#xff1a;部分函数依赖 &#xff08;X&#xff0c;Y&#xff09;——>Z&#xff1b; X——>Z 或者 Y——>Z 题型&#xff1a;给…

对单元测试的思考(稳定性建设)

单测是很常见的技术的名词&#xff0c;但背后的逻辑和原理你是否清楚&#xff0c;让我们一起review一下。 1. 单测是什么&#xff1f;&#x1f914; 单测是单元测试,主要是测试一个最小逻辑块。比如一个函数、一个react、vue 组件。 2.为什么要写单测&#xff1f;&#x1f9…

《Large Language Models for Generative Information Extraction: A Survey》阅读笔录

论文地址&#xff1a;Large Language Models for Generative Information Extraction: A Survey 前言 映像中&#xff0c;比较早地使用“大模型“”进行信息抽取的一篇论文是2022年发表的《Unified Structure Generation for Universal Information Extraction》&#xff0c;也…