请问sprintf、fprintf和printf这三个函数有什么区别?

还有和printf有关的函数吗?

sprintf、fprintf和printf这三个函数区别为:输出不同、参数不同、重定向不同。

一、输出不同

1、sprintf函数:sprintf函数是把格式字符串输出到指定文件设备中。

2、fprintf函数:fprintf函数是把格式字符串输出到指定字符串中。

3、printf函数:printf函数是把格式字符串输出到标准输出中。

二、参数不同

1、sprintf函数:sprintf函数参数比printf多一个char*。

2、fprintf函数:fprintf函数参数比printf多一个文件指针FILE*。

3、printf函数:printf函数参数为字符串string。

三、重定向不同

1、sprintf函数:sprintf函数不可以重定向。

2、fprintf函数:fprintf函数不可以重定向。

3、printf函数:printf函数可以重定向。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-20

三个函数的目的一致,即输出格式化的文本内容至屏幕。

一、输出目标不同

1、printf,是把格式化字符串输出到标准输出,即标准输出文件,对应终端的屏幕。

2、sprintf,是把格式化字符串输出到指定字符串,也可作为缓冲区,而printf只能输出到命令行上。

3、fprintf,是把格式化字符串输出到指定文件中。

二、函数原型不同

1、printf函数原型 int printf ( const char * format, ... );

2、sprintf函数原型 int sprintf(char *buffer, const char *format, [argument]...);

3、fprintf函数原型int fprintf( FILE *stream, const char *format, [ argument ]...);

三、语言不同

1、printf()是C语言标准库函数,在 stdio.h 中定义。

2、sprintf()是C/C++语言标准库函数,在 stdio.h 中定义。

3、fprintf是C/C++中的一个格式化库函数,位于头文件<cstdio>中。

扩展资料

1、printf函数

函数的调用格式为:printf("格式化字符串",输出表列)。

格式化字符串包含三种对象,分别为: 

(1)字符串常量; 

(2)格式控制字符串; 

(3)转义字符。 

2、sprintf函数

函数功能:格式化字符串,将格式化的数据写入字符串中。

函数原型:int sprintf(char *buffer, const char *format, [argument]...)

参数:

(1)buffer:是char类型的指针,指向写入的字符串指针;

(2)format:格式化字符串,即在程序中想要的格式;

(3)argument:可选参数,可以为任意类型的数据;

函数返回值:buffer指向的字符串的长度;

参考资料

百度百科-sprintf

百度百科-printf

百度百科-fprintf

本回答被网友采纳
第2个回答  推荐于2017-10-04
都是把格式好的字符串输出,只是输出的目标不一样:
1 printf,是把格式字符串输出到标准输出(一般是屏幕,可以重定向)。
2 sprintf,是把格式字符串输出到指定字符串中,所以参数比printf多一个char*。那就是目标字符串地址。
3 fprintf, 是把格式字符串输出到指定文件设备中,所以参数笔printf多一个文件指针FILE*。本回答被提问者采纳
第3个回答  2013-08-05
sprintf 是输出到串,一般是直接申请输出到一个字符串中,这个可以用来将大量数字数据转成字符串。

fprintf 是输出到文件,当然,这个文件也可能是虚拟的文件。

printf 是直接输出到标准显示设备,就是屏幕的终端中。本回答被网友采纳
相似回答