功能
將可變個參數(...)按照format格式化成字元串,然後將其複製到str中
(1) 如果格式化後的字元串長度 < size,則將此字元串全部複製到str中,並給其後添加一個字元串結束符('\0');
(2) 如果格式化後的字元串長度 >= size,則只將其中的(size-1)個字元複製到str中,並給其後添加一個字元串結束符('\0'),返回值為欲寫入的字元串長度。
所需頭檔案
#include <stdio.h>
函式返回值
若成功則返回預寫入的字元串長度,若出錯則返回負值。
與snprintf的返回值不同,sprintf的返回值是成功寫入的字元串長度,此處需要謹慎處理!
說明
strcpy() sprintf() strcat() 存在安全隱患, 其對應的安全版為:
strncpy() snprintf() strncat()
s的值為abc
%.*s 表示有兩項, 第一項指定了長度,第二項則是%s的內容,所以取前三位
在VS2008中需在預編譯處加入
通用ANSI UNICODE 通用定義
例子
運行結果:
str=123456789
nLen=18
頭檔案
<stdio.h>