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

fprintf()、fscanf()与printf()、scanf()的区别

1.定义

fscanf()是格式化读取文件函数,fprintf()是格式化写入函数,而scanf()和printf()我们都知道,简单来说就是一个程序中必不可少输入输出,但其实他们只是是fscanf()和fprintf()的特殊形式。严格来说scanf()不叫输入函数,它其实是读取函数;printf()也不叫输出文件函数,它是写入文件函数。

2.什么是格式化?

我们知道printf输出和scanf输入的时候分别有输出控制符和输入控制符,表示将什么格式的数据输出或输入,所以说它们是格式化的。

3.为什么说scanf()读取文件函数,printf()是写入文件函数?

scanf()的作用其实是读取我们在键盘上敲入的数据,printf()的作用是将数据写入到显示器,而我们在刚开始学习C语言时怕混淆,所以才说的scanf()是输入函数,printf()是输出函数。

4.原型

#include <stdio.h>

int scanf("输入控制符,例:%d",输入参数);

int printf("输出控制符,例:%d",输出参数);

int fscanf(FILE *stream,"输入控制符,例:%d",输入参数);

int fprintf(FILE *stream,"输出控制符,例:%d",输出参数);

注:其中FILE是系统定义的结构体,stream指针指向要操作的文件

5.区别

由上可以看出,他们之间的区别在于,scanf()和printf()只能对标准输入输出文件流进行读写,不需要指明要操作的文件,默认就是输入输出文件流。而fscanf()和fprintf()因为多了一个参数用于指定读写哪个流,所以可以操作任何文件流的读写。

总结:

读和写的操作是由内存发出的,
内存输出到屏幕上,就是内存写操作,将数据写到屏幕上,为printf
内存从键盘接收数据,就是内存读操作,从键盘上读入数据,为scanf
内存输出到文件中,就是内存写操作,将数据写到文件中,为fprintf
内存从文件中接收数据,就是内存读操作,从文件中读入数据,为fscanf


scanf - 从键盘上读取格式化的数据 stdin
printf - 把数据写到(输出)到屏幕上 stdout


fscanf - 针对所有输入流的格式化的输入函数 读 stdin 打开的文件
fprintf - 针对所有输出流的格式化的输出函数 写 stdout 打开的文件


sscanf - 从一个字符串中,还原出一个格式化的数据
sprintf - 把格式化的数据,存放在(转换成)一个字符串

http://www.xdnf.cn/news/824527.html

相关文章:

  • sniffer超级详细介绍
  • 简洁明了的StringBuffer详解
  • AdminLte入门搭建
  • C++ libevent使用
  • 酒店管理系统(前台后台管理)
  • 软路由koolshare故障处理集锦
  • 前端篇-Content-Type 详解
  • 硬件知识:DDR3、DDR4和DDR5内存条有啥区别,看完你就懂
  • 学习一个 Linux 命令: ldd 命令
  • JavaScript笔记(二)
  • 爬过这些网站才算会爬虫
  • 什么是HBA(Host Bus Adapter,HBA)
  • OpenJudge-1.8.01:矩阵交换行
  • c++ 构造函数详细介绍
  • 如何使用IPFS命令行/js代码上传文件
  • 深入理解同步阻塞、同步非阻塞、异步阻塞、异步非阻塞
  • Js日期函数-Date方法
  • 颜表情记录(自用
  • extjs Ext.data.Store store学习
  • 什么是802.11ac和802.11ac Wave2
  • 【模拟集成电路】鉴频鉴相器设计(Phase Frequency Detector,PFD)
  • think PHP之环境配置windows+Wamp+Composer+PHP
  • 2024年网络安全最全网工必备工具SecureCRT_crt工具(1),瞬间高大上了
  • 数据流图(DFD)
  • 数据归档与清理功能大幅升级,NineData重磅升级!
  • CSS中实现元素居中的七种方法
  • iOS 苹果授权登录(Sign in with Apple)系列之Apple Developer配置篇
  • 放弃Python拥抱Mojo?鹅厂工程师真实使用感受
  • 推荐几个好用实用的免费图标素材(好看的icon)
  • 开窗函数(分析函数)使用详解