printf、fprintf、sprintf的使用和区别
1、sprintf
函数
sprintf
函数用于将格式化的数据写入字符串,其原型为:
#include <stdio.h>
/*
*描述:将格式化的数据写入字符串
*
*参数:
* [out] str: 输出缓冲区,得到格式化之后的字符串;
* [in] format: 格式化字符串,与 printf 函数一样;
*
*返回值:如果成功,则返回写入的字符总数,不包括字符串追加在字符串末尾的空字符。如果失败,则返回一个负数。
*/
int sprintf(char *str, const char *format, ...);
其中,str是指向一个字符数组的指针,用于存储格式化后的字符串;format是一个格式控制字符串,用于指定输出的格式;…是可变参数列表,用于指定要格式化的数据。
#include <stdio.h>
int main()
{
char buf[1024] = { 0 };
sprintf(buf,"www.codersrc.com\n");
printf("%s", buf);
sprintf(buf,"www.codersrc.com age:%d name:%s height:%f\n",17, "zhangsan",1.75);
printf("%s", buf);
}
输出:
www.codersrc.com
www.codersrc.com age:17 name:zhangsan height:1.750000
2、fprintf
函数
将一个格式化的字符串写入文件中, 其原型为:
/*
*描述:fputs 函数是向指定的文件写入一个字符串
*
*参数:
* [in] stream: 文件指针句柄;
* [in] format: 格式化字符串,与 printf 函数一样;
*
*返回值:如果成功,该函数返回一个非负值,如果发生错误则返回 EOF(-1)。
*/
int fprintf (FILE* stream, const char*format, [argument]);
3、printf
函数
其原型为:
#include <stdio.h>
int printf( const char *format, ... );
int a = 256;
int b = -125;
printf("%5d\n%5d",a,b);
输出:
256
-125
printf()函数根据format(格式)给出的格式打印输出到STDOUT(标准输出)和其它参数中。返回值是输出的字符数量。
3、sprintf、fprintf、printf 函数区别
sprintf
是将一个格式化的字符串输出到一个目的字符串中;printf
是将一个格式化的字符串输出到屏幕;fprintf
是将一个格式化的字符串写入文件中;