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的話,將不會溢位。函式返回值 若成功則返回欲寫入的字串長度,若出錯則返...