大家好,欢迎来到IT知识分享网。
文章目录
下面浅谈printf,fprintf,sprintf三个函数的使用和区别

scanf、fscanf、sscanf三个函数的用法和区别传送门
函数参数
fprintf的使用
fprintf比printf也只多了一个FILE*指针,后面两个参数和printf一样写就行
看下面一段代码
struct S
{
char name[20];
int age;
char sex[20];
};
int main()
{
struct S s = {
"ccl", 19, "boy" };//初始化结构体作为写入文件的内容
//打开文件
FILE* pf = fopen("D:\\test.txt", "w");//"w"写文件
if (pf == NULL)
{
perror("fopen");
return 1;
}
fprintf(pf, "%s %d %s", s.name, s.age, s.sex);//把数据写入文件
fclose(pf);//关闭文件
pf = NULL;//置空
return 0;
}
运行结果
注:”w”写之前会清空文件里的内容
fprintf的作用:
官方一点:发送格式化输出到流 stream 中
简单一点:把数据写入文件(但是文件流不只是文件,c++可以定义文件流,所以只是浅谈)
不知道流的可以看看这个:流的传送门
标准输入流和标准输出流都属于文件流的一种
那么下面的代码可不可以等同呢?
int a=10;
//??是否成立
fprintf(stdout,"%d",a)==printf("%d",a);
//??是否成立
测试代码:
int main()
{
int a = 10;
fprintf(stdout,"%d\n", a);
printf("\n");
printf("%d\n", a);
return 0;
}
运行结果:
显然是可以等同的
下面多看几段代码找找感觉,建议自己试试,左边是代码,右边是运行后的结果
sprintf的使用
sprintf只比printf多了一个char* 的指针,后面两个参数和printf一样写就行
sprintf的作用:
官方点: sprintf的作用是将一个格式化的字符串输出到一个目的字符串中
参数里的buffer指针就是指向目的字符串的
简单点:把数据输出到一个字符串
看下面几个例子就清晰了
sprintf的用法详解传送门
总结
如果有启发的话,留个赞再走吧,这对我帮助很大!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/118570.html





