函數簡介
函數原型
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)來占據一個位置,在後邊的變參列表中提供相應的變量,最終函數就會用相應位置的變量來替代那個說明符,産生一個調用者想要的字符串。