sprintf(printf和sprintf的区别)
一、sprintf输出格式
sprintf函数的作用是格式化一个字符串,和printf函数有些类似,不同的是printf函数是格式化输出流,而sprintf是格式化字符串。
sprintf函数的第一个参数就是指向一个用于存放结果的字符串,第二个参数就和printf函数一样,由普通字符串和格式转换控制符组成。转换控制符就是:%d对应整型、%c对应一个字符、%f对应一个单精度浮点数、%s对应一个字符串。
sprintf会把按照第二个参数格式化好的字符串放到第一个参数中,所以第一个参数要有足够的长度容纳。
二、printf和sprintf的区别
sprintf与printf的区别
(1)函数的声明不同
[cpp]viewplaincopyintprintf(constchar*format[,argument]…);
intsprintf(char*buffer,constchar*format[,argument]…);
sprintf比printf多一个参数buffer,这个参数的作用见(2)的描述。
(2)函数的功能不同
函数printf(。。。)根据指定的格式(format)将参数(argument)输出到屏幕上;
函数sprintf(。。。)根据指定的格式(format)将参数(argument)输出到由指针buffer指定的字符数组(字符缓冲区)中;
(3)用法举例
[cpp]viewplaincopy#include《stdio.h》
voidmain()
{
/*字符数组buffer用于存放sprintf函数的输出*/
charbuffer[256];
intx=100;
char*message=“Helloworld”;
/*用sprintf函数将x和message输出到字符数组buffer中*/
sprintf(buffer,“%s%d”,message,x);
/*用printf函数将buffer的内容输出到屏幕上显示*/
printf(“%s\n”,buffer);