printf函数与sprintf不同之处有:
(1)函数的声明不同
- int printf(const char *format [, argument]…);
- int sprintf(char *buffer, const char *format [, argument] …);
int printf(const char *format [, argument]...);
int sprintf(char *buffer, const char *format [, argument] ...);
sprintf比printf多一个参数buffer,这个参数的作用见(2)的描述。
(2)函数的功能不同
- 函数printf(…)根据指定的格式(format)将参数(argument)输出到屏幕上;
- 函数sprintf(…)根据指定的格式(format)将参数(argument)输出到由指针buffer指定的字符数组(字符缓冲区)中;
(3)用法举例
- #include <stdio.h>
- void main()
- {
- /*字符数组buffer用于存放sprintf函数的输出*/
- char buffer[256];
- int x = 100;
- char *message = “Hello world”;
- /* 用sprintf函数将x和message输出到字符数组buffer中 */
- sprintf(buffer, ”%s%d”, message, x);
- /* 用printf函数将buffer的内容输出到屏幕上显示 */
- printf(”%s\n”, buffer);
- }
#include <stdio.h>
void main()
{
/*字符数组buffer用于存放sprintf函数的输出*/
char buffer[256];
int x = 100;
char *message = "Hello world";
/* 用sprintf函数将x和message输出到字符数组buffer中 */
sprintf(buffer, "%s%d", message, x);
/* 用printf函数将buffer的内容输出到屏幕上显示 */
printf("%s\n", buffer);
}