_vsnprintf

_vsnprintf是C語言庫函式之一,屬於可變參數。用於向字元串中列印數據、數據格式用戶自定義。頭檔案是#include 。

函式簡介

頭檔案:

#include <stdarg.h>

函式聲明:

int _vsnprintf(char* str, size_t size, const char* format, va_list ap);

參數說明

char *str [out],把生成的格式化的字元串存放在這裡.

size_t size [in], str可接受的最大字元數 (非位元組數,UNICODE一個字元兩個位元組),防止產生數組越界.

const char *format [in], 指定輸出格式的字元串,它決定了你需要提供的可變參數的類型、個數和順序。

va_list ap [in], va_list變數. va:variable-argument:可變參數

1.

char *str [out],把生成的格式化的字元串存放在這裡.

2.

size_t size [in], str可接受的最大字元數 (非位元組數,UNICODE一個字元兩個位元組),防止產生數組越界.

3.

const char *format [in], 指定輸出格式的字元串,它決定了你需要提供的可變參數的類型、個數和順序。

4.

va_list ap [in], va_list變數. va:variable-argument:可變參數

函式功能:將可變參數格式化輸出到一個字元數組。

用法類似於vsprintf,不過加了size的限制,防止了記憶體溢出(size為str所指的存儲空間的大小)。

返回值:執行成功,返回最終生成字元串的長度,若生成字元串的長度大於size,則將字元串的前size個字元複製到str,同時將原串的長度返回(不包含終止符);執行失敗,返回負值,並置 errno.

備註:

linux環境下是:vsnprintf

VC6環境下是:_vsnprintf

用法實例

輸出 9。

asd,2,3,4

123456789 (共9個字元,間隔符逗號計算在內)

返回值用法

代碼在vc6.0下調試通過。

相關詞條

熱門詞條

聯絡我們