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、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指向的字符串的长度;
参考资料
1 printf,是把格式字符串输出到标准输出(一般是屏幕,可以重定向)。
2 sprintf,是把格式字符串输出到指定字符串中,所以参数比printf多一个char*。那就是目标字符串地址。
3 fprintf, 是把格式字符串输出到指定文件设备中,所以参数笔printf多一个文件指针FILE*。
fprintf 是输出到文件,当然,这个文件也可能是虚拟的文件。
printf 是直接输出到标准显示设备,就是屏幕的终端中。