fprintf()、fscanf()与printf()、scanf()的区别——C语言笔记

本文详细介绍了C语言中的格式化输入输出函数fscanf(), fprintf(), scanf()和printf()。这些函数用于从键盘读取数据和向显示器输出数据,其中fscanf()和fprintf()具备更多的文件流操作灵活性。格式化是指在读写过程中使用特定的控制符来规范数据的格式。了解这些函数的区别和用法对于C语言编程至关重要。

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()因为多了一个参数用于指定读写哪个流,所以可以操作任何文件流的读写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值