sprintf ()- 將格式化資料列印至緩衝區

格式

#include <stdio.h>
int sprintf(char *buffer, const char *format-string, argument-list);

語言層次

ANSI

安全執行緒

區分語言環境

此函數的行為可能受到現行語言環境的 LC_CTYPE 及 LC_NUMERIC 種類的影響。 如果在編譯指令上指定 LOCALETYPE (*LOCALEUCS2) 或 LOCALETYPE (*LOCALEUTF) ,則現行語言環境的 LC_UNI_CTYPE 種類也可能影響行為。 如需相關資訊,請參閱 瞭解 CCSID 及語言環境

說明

sprintf() 函數會將一系列字元和值格式化並儲存在陣列 緩衝區中。 根據 format-string中對應的格式規格,會轉換並輸出任何 argument-list

format-string 由一般字元組成,且其格式及函數與 printf() 函數的 format-string 引數相同。

回覆值

sprintf() 函數會傳回在陣列中寫入的位元組數,不計算結尾空值字元。

範例

此範例使用 sprintf() 來格式化及列印各種資料。
#include <stdio.h>
 
char buffer[200];
int i, j;
double fp;
char *s = "baltimore";
char c;
 
int main(void)
{
   c = 'l';
   i = 35;
   fp = 1.7320508;
 
   /* Format and print various data */
   j = sprintf(buffer, "%s\n", s);
   j += sprintf(buffer+j, "%c\n", c);
   j += sprintf(buffer+j, "%d\n", i);
   j += sprintf(buffer+j, "%f\n", fp);
   printf("string:\n%s\ncharacter count = %d\n", buffer, j);
}
 
/*********************  Output should be similar to:  *************
 
string:
baltimore
l
35
1.732051
 
character count = 24           */

相關資訊