int snprintf ( char * str, size_t size, const char * format, … );
引數解析:
str 目標字串
size 拷貝位元組數(bytes)
format 格式化成字串
… 可變引數
需要注意的是引數size是拷貝的「字串」大小,就是說這個長度是包含了』\0』的,
所以如果size 是6,實際拷貝的字元數是5 再加上』\0』
例子
#include
intmain
(int argc,
char
*ar**)
;snprintf
(buff,6,
"%s"
, msg)
;//表示從字串s,按照" "內的格式讀取6個字元到buff中去
printf
("%s--\n"
, buff)
;// 在字串結尾列印-- 是為了看清輸出的字串後面是否有空格
snprintf
(buff,5,
"%s"
, msg)
;printf
("%s--\n"
, buff)
;return0;
}
輸出的結果如下
hello–
hell–
由此證實了使用snprintf函式時 拷貝到buff中的字串長度是包含『\0』的
snprintf(buff, 6, 「%s」, msg);
所以列印顯示hello
從msg拷貝到buff的長度是6,buff中的內容是hello』\0』
snprintf(buff, 5, 「%s」, msg);
從msg拷貝到buff的長度是5,buff中的內容是hell』\0』
所以列印顯示hell
認識sprintf函式及snprintf
認識sprintf函式 2014 6 21 14 17 24 int sprintf char buffer,const char format argument sprintf函式的格式儲存了一系列緩衝區中的字元和值。每個引數是根據相應的格式規範的格式轉換和輸出。該格式由普通字元並具有相同的形式和...
snprintf函式的使用
函式原型 int snprintf char str,size t size,const char format,功能 將可變個引數 按照format格式化成字串,然後將其複製到str中 1 如果格式化後的字串長度 size,則將此字串全部複製到str中,並給其後新增乙個字串結束符 0 2 如果格式...
snprintf使用注意點
snprintf雖然是被推薦使用的函式,但是在使用過程中,仍然有需要要注意的關鍵點 cpp view plain copy include include intmain void 結果 root f8s extract string test02 string1 girl boy snprintf...