(C语言)fscanf与fprintf函数详解

目录

1 fprintf详解

1.1 向文件流中输入数据

1.2 向标准输入流写数据

2. fscanf函数详解

2.1 从文件中读取格式化数据

2.2 从标准输入流中读取格式化数据


1 fprintf详解

头文件:stdio.h

该函数和printf的参数特别像,只是多了一个参数stream,

适用于所有输出流,将格式化的数据输入到流中

1.1 向文件流中输入数据

#include <stdio.h>
struct S
{char name[10];int height;float grate;
}s={"xiaoming",80,65.5f};
int main()
{//打开文件FILE* pf = fopen("date.txt", "w");if (pf == NULL){perror("fopen");return 1;}//先文件写格式化的内容fprintf(pf, "%s %d %f", s.name, s.height, s.grate);//关闭文件fclose(pf);pf = NULL;return 0;
}

可见文件中的确以格式换的方式出现了结构体的数据。该函数和printf函数很像,格式化部分和prinf函数一样,只是可以控制数据到哪个流当中去。

1.2 向标准输入流写数据

#include <stdio.h>
struct S
{char name[10];int height;float grate;
}s={"xiaoming",80,65.5f};
int main()
{fprintf(stdout, "%s %d %f", s.name, s.height, s.grate);return 0;
}

这样结构体的数据就打印到了标准输出界面了。

2. fscanf函数详解

头文件:stdio.h

同样的fscanf和scanf很行只是多了一个stream

适用于所有输入流

将格式化的数据从流中读取出来

2.1 从文件中读取格式化数据

struct S
{char name[10];int height;float grate;
}s1={"xiaoming",80,65.5f},s2;
int main()
{//打开文件FILE* pf = fopen("date.txt", "w+");if (pf == NULL){perror("fopen");return 1;}//向文件写格式化的数据fprintf(pf, "%s,%d,%f", s1.name, s1.height, s1.grate);//从文件中读取格式化的数据到s2结构体fscanf(pf, "%s %d %f", s2.name, &s2.height, &s2.grate);//打印s2结构体的内容printf("%s %d %f", s2.name, s2.height, s2.grate);//关闭文件fclose(pf);pf = NULL;return 0;
}

2.2 从标准输入流中读取格式化数据

#include <stdio.h>
struct S
{char name[10];int age;float score;
}s;
int main()
{fscanf(stdin, "%s%*c%d%*c%f", s.name, &(s.age), &(s.score));printf("%s %d %f", s.name, s.age, s.score);return 0;
}

运行结果:

感谢观看,欢迎在评论区讨论。

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

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

相关文章

互联网技术知识点总览——计算机网络知识框架

简介 本文对计算机网络的知识点整体框架进行梳理和分享如下&#xff1a;

HANA SQL消耗内存和CPU线程的限制参数

HANA再处理大数据表相关的复杂Sql时&#xff0c;如果没有设置Memory和CPU线程上限的话&#xff0c;会将HANA的资源占用殆尽&#xff0c;造成HANA无法响应其他Sql请求&#xff0c;导致表现在应用服务器上就是系统卡顿的情况。解决上述问题的办法就是按照下图设置Memory(图1&…

车轮上的智能:探索机器学习在汽车行业的应用前景

文章目录 引言&#xff1a;一、机器学习在汽车设计中的应用设计优化模拟与测试 二、智能制造与生产三、自动驾驶技术感知与决策数据融合 四、市场与模式的变革五、机器学习对于汽车行业的机遇与挑战挑战机遇 引言&#xff1a; 在当今数字化时代&#xff0c;机器学习作为人工智…

Vue报错 Cannot read properties of undefined (reading ‘websiteDomains‘) 解决办法

浏览器控制台如下报错&#xff1a; Unchecked runtime.lastError: The message port closed before a response was received. Uncaught (in promise) TypeError: Cannot read properties of undefined (reading websiteDomains) at xl-content.js:1:100558 此问题困扰了…

Linux系统中传输文件

linux系统中,主机间文件传输有多种方式,如主机间的scp、物理主机与虚拟主机间的sftp等。本文从应用角度讨论文件的上传下载。 除putty远程连接工具不能图形化下载上传文件外,其他常用工具,如xshell、finalshell、CRT等,都可以通过图形化方式拖放文件而达到传输文件的目的…

YOLOv8水稻病害检测系统(python代码,可以通过图片、视频或者摄像头三种路径进行检测)

1.效果视频&#xff1a;最新最全面的水稻病害检测创作&#xff08;yolov8模型&#xff0c;稻瘟病、纹枯病、褐斑病、枯心病、霜霉病、水稻细菌性条纹斑病、稻苞虫等病害。&#xff09;_哔哩哔哩_bilibili 2.数据集介绍 水稻叶病害数据集&#xff08;目标检测&#xff0c;yolo…

JAVA学习笔记27(异常)

1.异常 ​ *异常(Exception) ​ *快捷键 ctrl alt t 选中try - catch ​ *如果进行了异常处理&#xff0c;那么即使出现了异常&#xff0c;程序可以继续执行 1.1 基本概念 ​ *在Java语言中&#xff0c;将程序执行中发生的不正常情况称为"异常"(开发过程中的语…

学术垃圾-文本分类

文本分类的训练、推理 基于transformers包&#xff0c;huggingface的社区&#xff0c;streamlit的界面。简单记录当前的内容。 文本分类训练的说明 文本分类训练 训练标签与ID的对应关系和训练进度条的展示&#xff0c;保存最佳模型&#xff0c;用于后续的推理。 精度折线图和…

计算机组成原理【CO】Ch7 I/O大题

目录 I/O大题解题方法 I/O接口 各种I/O方式的特点 I/O端口编址 程序查询方式 中断控制方式 DMA控制方式 程序中断的工作流程 程序中断的工作流程 DMA方式和中断方式的区别 I/O大题解题方法 CPU 程序查询中断DMA I/O接口的类型 按字传输&#xff1a;每次传输一个字 程…

深度学习--CNN卷积神经网络(附图)

框架 让我们先看一下CNN的框架 卷积层中后是ReLu激活函数 &#xff0c;然后是深化池&#xff0c;之后是全连接&#xff0c;最后进行Softmax进行归一化。 所以&#xff0c;我们先逐一了解一下它们各个部分 全连接层 全连接层也称感知机&#xff0c;BP神经网络 全连接层&…

IDEA JAVA项目如何设置JVM参数

问题背景&#xff1a; 有时候项目在本地启动时会报参数引用不到&#xff0c;如果确实找不到在哪里添加的话&#xff0c;我们可以先加JVM参数来暂时解决本地环境的调试。 解决方案&#xff1a; 编辑配置Edit Configurations 选择需要配置的项目&#xff0c;点击Modify options 选…

CSS盒子模型 (盒子模型 上)

&#xff08;大家好&#xff0c;今天我们将继续来学习CSS的相关知识&#xff0c;大家可以在评论区进行互动答疑哦~加油&#xff01;&#x1f495;&#xff09; 目录 一、盒子模型 1.1 看透网页布局本质 1.2 盒子模型(Box Model)组成 1.3 边框(border) 课堂小练习 目标…