C 速查手冊
11.6.6 sprintf()
stdio.h 的函數 (function) sprintf() 將格式化字串 (string) 傳送到陣列 (array) 。有如下的可指定的轉換格式
%d, %i | 有正負號的十進位整數 | int |
%u | 無正負號的十進位整數 | int |
%o | 無正負號的八進位整數 | int |
%x, %X | 無正負號的十六進位整數 | int |
%c | 字元 | char |
%s | 字串 | char * |
%f | 浮點數 | double |
%p | 記憶體位址的編碼 | void * |
%% | 百分比符號 | % |
sprintf() 可接受多個參數 (parameter) ,至少要有第一個所要輸出的格式化字串,隨後為依格式化字串中轉換格式的數列接上需要的參數,這是說,如果格式化字串中用了三個轉換格式,其後就需要另外三個對應的參數。
以下程式示範使用 sprintf() 的結果
#include <stdio.h>
int main(void)
{
char c1[20];
int n = 10;
sprintf(c1, "He has %d books.\n", n);
printf(c1);
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:csprintf.c
功能:示範 stdio.h 中函數 sprintf() 的使用
作者:張凱慶 */
編譯後執行,結果如下
$ gcc csprintf.c |
$ a.out |
He has 10 books. |
$ |