sprintf

sprintf

C語言術語
sprintf指的是字符串格式化命令,主要功能是把格式化的數據寫入某個字符串中,即發送格式化輸出到string所指向的字符串。sprintf是個變參函數。使用sprintf對于寫入buffer的字符數是沒有限制的,這就存在了buffer溢出的可能性。解決這個問題,可以考慮使用snprintf函數,該函數可對寫入字符數做出限制。
    中文名:字符串格式輸出 外文名: 适用領域: 所屬學科: 名稱:sprintf 特點:變參函數 功能:把格式化的數據寫入某個字符串中。 頭文件:stdio.h 原型:int sprintf 返回值:字符串長度

函數簡介

函數原型

int sprintf( char *buffer, const char *format, [ argument] … );

sprintf的作用是将一個格式化的字符串輸出到一個目的字符串中,而printf是将一個格式化的字符串輸出到屏幕。

參數列表

buffer:char型指針,指向将要寫入的字符串的緩沖區。

format:格式化字符串。

[argument]...:可選參數,可以是任何類型的數據。

相關函數

intsprintf_s(char *buffer,size_tsizeOfBuffer,const char *format, [argument] ... );

int _sprintf_s_l(char *buffer,size_tsizeOfBuffer,const char *format,locale_t locale ,[argument] ... );

int swprintf_s(wchar_t*buffer,size_tsizeOfBuffer,constwchar_t*format ,[argument]...);

int _swprintf_s_l(wchar_t*buffer,size_t sizeOfBuffer,const wchar_t *format,locale_t locale ,[argument]…);

template

intsprintf_s(char (&buffer)[size],const char *format, [argument] ... ); //僅存在于C++

template

int swprintf_s(wchar_t (&buffer)[size],const wchar_t *format ,[argument]...); //僅存在于C++

詳細介紹

sprintf格式的規格如下所示。

1.處理字符方向。負号時表示從後向前處理。

2.填空字元。0的話表示空格填0;空格是内定值,表示空格就放着。

3.字符總寬度。為最小寬度。

4.精确度。指在小數點後的浮點數位數。

在将各種類型的數據構造成字符串時,sprintf的強大功能很少會讓你失望。由于sprintf跟printf在用法上幾乎一樣,隻是打印的目的地不同而已,前者打印到字符串中,後者則直接在命令行上輸出。這也導緻sprintf比printf有用得多。

sprintf是個變參函數,定義如下:

int sprintf( char *buffer, const char *format [, argument] ... );

printf和sprintf都使用格式化字符串來指定串的格式,在格式串内部使用一些以“%”開頭的格式說明符(format specifications)來占據一個位置,在後邊的變參列表中提供相應的變量,最終函數就會用相應位置的變量來替代那個說明符,産生一個調用者想要的字符串。

相關詞條

相關搜索

其它詞條