snprintf

snprintf(),為函式原型int snprintf(char *str, size_t size, const char *format, ...)。

功能

將可變個 參數(...)按照format格式化成字元串,然後將其複製到str中

(1) 如果格式化後的字元串長度 < size,則將此字元串全部複製到str中,並給其後添加一個字元串結束符('\0');

(2) 如果格式化後的字元串長度 >= size,則只將其中的(size-1)個字元複製到str中,並給其後添加一個字元串結束符('\0'),返回值為格式化後的 字元串的長度。

char a;

i = snprintf(a, 9, "%012d", 12345);

printf("i = %d, a = %s", i, a);

輸出為:i = 12, a = 00000001

函式返回值

若成功則返回欲寫入的字元串長度,若出錯則返回 負值。

說明

strcpy() sprintf() strcat() 存在安全隱患, 其對應的安全版為:

strncpy() snprintf() strncat()

s的值為abc

%.*s 表示有兩項, 第一項指定了長度,第二項則是%s的內容,所以取前三位

在VS2008中需在預編譯處加入

通用ANSI UNICODE 通用定義

例子

運行結果:

str=012345678

nLen=19

頭檔案

相關詞條

熱門詞條

聯絡我們