fscanf()、fprintf()的使用

关于fscanf()和fprintf()的理解


看了半天关于fscanf的使用,终于好像明白了一些!



开始一直不明白fscanf()和fprintf()哪个是对文件读数据哪个是写数据,现在终于快弄清楚了。


fscanf():

原型:int fscanf(FILE*stream,const char*format,[argument]...);


功能:根据数据格式(format)从输入流(stream)中写入数据(argument),遇到空格和换行时结束。

(刚开始特别不理解到底从哪读,写到哪,现在我的理解是从文件流中读取数据放入自己定义的变量中,也就是从文件中读数据)


因此在定义文件类型指针fp的时候,文件的打开模式mode应为r(读),FILE*fp=fopen("726.txt","r")。

写了一段代码就明白了。




   首先新建一个文本文件726.txt,在这个文件中输入1 2 3


#include<stdio.h>
#include<assert.h>
int main()
{
	FILE*fp=fopen("726.txt","r");    //对"726.txt"进行读操作
	assert(fp);             //断言
	if(fp){               

		int a[3];         //定义一个数组,存放从文件流中读取到的数据
		int i=0;
		for(i=0;i<3;i++)
		{
			fscanf(fp,"%d",&a[i]);
		}

               for(i=0;i<3;i++)           //输出打印数组中的元素
		{
			printf("%d ",a[i]);
		}
		fclose(fp);              //关闭文件流
	}
	return 0;
}



运行这段代码的结果:





fprintf()


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


功能:根据指定的格式foemat发送信息到stream指定的文件中,因此fprintf()可以使得信息输出到指定的文件中。

(就是把自己想写的东西写到指定的文件中)


所以在定义文件类型指针的时候,mode是w(写),也就是FILE*fp=fopen("726.txt","w")



代码如下,把一个字符串写到文件中


#include<stdio.h>
#include<assert.h>
int main()
{
	char name[20]="Alice";
	FILE*fp=fopen("726.txt","w");
	assert(fp);
	if(fp)
        {
            fprintf(fp,"good job ,%s\n",name);
        }        
}
 结果如下:





哈哈!




这就是我对fscanf()和fprintf()的理解了,如果有什么错误,欢迎指出。



小白仍需努力。



  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值