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.
$

上一頁 11.6.5 printf()
回 C 速查手冊 - 標準程式庫分類索引
下一頁 11.6.7 scanf()
回 C 速查手冊 - 標準程式庫導覽
回 C 速查手冊首頁
回 C 教材首頁
回程式語言教材首頁