cy語言 snprintf使用及注意事項

2021-10-10 18:46:54 字數 948 閱讀 8061

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