浅谈printf、fprintf、sprintf的使用和区别

浅谈printf、fprintf、sprintf的使用和区别浅谈 printf fprintf sprintf 三个函数的使用和区别 fprintf

大家好,欢迎来到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

(0)
上一篇 2025-11-12 10:15
下一篇 2025-11-12 10:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信