1. 程式人生 > >sprintf與printf的不同點是什麼?

sprintf與printf的不同點是什麼?

printf函式與sprintf不同之處有:

(1)函式的宣告不同

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);   
}