當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C語言 sprintf用法及代碼示例


C語言stdio頭文件(stdio.h)中sprintf函數的用法及代碼示例。

用法:

int sprintf ( char * str, const char * format, ... );
將格式化的數據寫入字符串
組成一個具有相同文本的字符串,如果格式用於printf,而不是將其打印,而是將內容存儲為C字串在所指向的緩衝區中str

緩衝區的大小應足夠大以包含整個結果字符串(請參見snprintf以獲得更安全的版本)。

內容後麵會自動附加一個終止的空字符。

之後格式參數,該函數至少需要與所需數量一樣多的附加參數格式

參數

str
指向存儲結果C-string的緩衝區的指針。
緩衝區應足夠大以包含結果字符串。
format
包含格式字符串的C字符串,其格式與格式printf(參考printf有關詳細信息)。
... (additional arguments)
取決於格式字符串,函數可能需要一係列附加參數,每個參數都包含一個用於替換a的值格式說明符在裏麵格式字符串(或指向存儲位置的指針,用於n)。
這些參數至少應與格式說明符。該函數將忽略其他參數。

返回值

成功後,將返回寫入的字符總數。此計數不包括自動附加在字符串末尾的其他null-character。
失敗時,將返回負數。

示例

/* sprintf example */
#include <stdio.h>

int main ()
{
  char buffer [50];
  int n, a=5, b=3;
  n=sprintf (buffer, "%d plus %d is %d", a, b, a+b);
  printf ("[%s] is a string %d chars long\n",buffer,n);
  return 0;
}


輸出:
[5 plus 3 is 8] is a string 13 chars long

也可以看看

snprintf
將格式化的輸出寫入大小合適的緩衝區(函數 )
printf
將格式化的數據打印到標準輸出(函數 )
sscanf
從字符串中讀取格式化的數據(函數 )

相關用法


注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C sprintf function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。