函数fscanf和fprintf的使用

提示:以下是本篇文章正文内容,下面案例可供参考

为了方便理解使用,引入scanf和printf两个函数。

一、fscanf

该函数原型如下:

int fscanf ( FILE * stream, const char * format, ... );

 而scanf函数的原型如下:

int scanf ( const char * format, ... );

不难发现,fscanf和scanf的使用大致相同,只是多了个参数。 

区别如下:

scanf和fscanf都是格式化函数

1.scanf适用于标准输入流(stdin),即从键盘等设备上输入数据

2.fscanf适用于所有输入流,可以从文件中输入数据

 使用如下:

1.scanf 

    char ch1[20] = "";
	int i = 0;
	scanf("%s %d", ch1, &i);
	printf("%s %d", ch1, i);

按照一定的格式(如%d %s %f等格式) 从键盘上输入数据

运行结果如下:

 

 

 2.fscanf

文件中内容如下:

 

FILE* pf = fopen("data.txt", "r");
	if (pf == NULL)
	{
		printf("打开失败");
	}
	int i = 0;
	char ch[20] = "";
	fscanf(pf, "%s %d", ch, &i);
	printf("ch的内容为%s\n", ch);
	printf("i的内容为%d\n", i);

按照一定的格式(如%d %s %f等格式)从输入流(文件/stdin)输入数据

运行结果如下:

 

 注意:对文件进行“只读”操作时,文件必须存在。

二、fprintf

该函数原型如下:

int fprintf ( FILE * stream, const char * format, ... );

而printf的函数原型如下:

int printf ( const char * format, ... );

区别如下:

1.printf适用于标准输出流(stout),即输出数据到屏幕上。

2.fprintf适用于所有输出流,可以输出数据到文件中。

使用如下: 

1.printf

    int a = 12;
	char ch[] = "hello";
	float f = 12.5f;
	printf("变量a的内容为%d\n", a);
	printf("变量ch的内容为%s\n", ch);
	printf("变量f的内容为%.1f\n", f);

运行结果如下:

 

按照一定的格式把数据输出(打印)到屏幕上

 2.fprintf

    FILE* pf = fopen("data.txt", "w");
	if (pf == NULL)
	{
		printf("打开失败");
	}

	int a = 12;
	char ch[] = "hello";
	float f = 12.5f;

	fprintf(pf, "%d %s %f", a, ch, f);

运行结果对文件的操作如下:

 

按照一定的格式向输出流(文件/stdout)输出数据

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值