snprintf用法解析

2021-08-11 14:58:48 字數 810 閱讀 7972

int snprintf ( char * s, size_t n, const char * format, ... );

描述:將格式化的輸出寫入大小緩衝區

如果在printf上使用了格式,則將使用與要列印的文字相同的文字組成字串。

但是,不是列印,而是將內容以c字串形式儲存在s指向的緩衝區中(以n為

填充的最大緩衝區容量)。

如果結果字串的長度超過了n-1個字元,則剩餘的字元將被丟棄並且不被儲存,

而是被計算為函式返回的值。

寫入內容後自動新增終止空字元。

在格式引數之後,函式至少需要格式所需的其他引數。

引數:s

指向儲存結果c字串的緩衝區的指標。

緩衝區應至少有n個字元的大小。

n在緩衝區中使用的最大位元組數。

生成的字串的長度至多為n-1,為額外的終止空字元留下空間。

size_t是乙個無符號整數型別。

format

包含格式字串的c字串,其格式字串與printf中的格式相同。

返回值:

返回寫入的字元數,不包括終止空字元。

如果發生編碼錯誤,則返回負數。

注意,只有當這個返回值是非負值且小於n時,字串才被完全寫入。

eg:

/* snprintf example */

#include int main ()

output:

the half of 60 is 30, and the half of that is 15.

snprintf函式的用法解析

int snprintf char restrict buf,size t n,const char restrict format,函式說明 最多從源串中拷貝n 1個字元到目標串中,然後再在後面加乙個0。所以如果目標串的大小為n 的話,將不會溢位。函式返回值 若成功則返回欲寫入的字串長度,若出錯則...

snprintf函式用法

int snprintf char restrict buf,size t n,const char restrict format,函式說明 最多從源串中拷貝n 1個字元到目標串中,然後再在後面加乙個0。所以如果目標串的大小為n的話,將不會溢位。函式返回值 若成功則返回欲寫入的字串長度,若出錯則返...

snprintf函式用法

int snprintf char restrict buf,size t n,const char restrict format,函式說明 最多從源串中拷貝n 1個字元到目標串中,然後再在後面加乙個0。所以如果目標串的大小為n的話,將不會溢位。函式返回值 若成功則返回欲寫入的字串長度,若出錯則返...