fprintf/fscanf 与 sscanf/sprintf 中有一个很大的区别是 前两者可以 *** 作文件,后两者则不可以。
下面的是 fprintf 的格式说明。
其中的 stream 是指流,一般情况下也就是指定义的文件指针,format 是指格式。
一般 fprintf 用于从指定的位置向文件中格式化输入一些数据,就比如下面这个例子。
#include
int main(void)
{
struct student s1={1,"赵英俊",3.14 };
FILE * pf = fopen("test.txt","w");//打开对应文件
if(pf == NULL)//判断是否存在该文件
{
printf ("error!!!!n");
system("pause");
return 0;
}
fprintf(pf,"%d %s %.2f",s1.age,s1.name,s1.score);//向文件中格式化输入数据
fclose(pf);//关闭文件
pf = NULL;//使 pf 指向空,避免其成为野指针
system("pause");
return 0;
}
下面介绍的就是 fscanf 他也和 fprintf 相似,不过他是将数据从文件中拿出来再赋给 你所需要得到数据的地方。
同样下面是他的格式。
其中的 stream 是指流,一般情况下也就是指定义的文件指针,format 是指格式。
一般 fprintf 用于从文件中格式化提取一些数据到所指定的位置,就比如下面这个例子。
#include
int main(void)
{
struct student s1 = {0};
FILE * pf = fopen("test.txt","r");
if(pf == NULL)
{
printf ("error!!!!n");
system("pause");
return 0;
}
fscanf(pf,"%d %s %f",&s1.age,s1.name,&s1.score);
system("pause");
fclose(pf);
pf = NULL;
printf("%d %s %.2f",s1.age,s1.name,s1.score);//展示传输后的结果
return 0;
}
好的 这些分享到此结束 后面我会来分享 fread 和 fwrite 的一些用法等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)