全部課程
發(fā)布時間: 2023-03-10 14:44:48
sprintf指的是字符串格式化命令,該函數(shù)被聲明為int sprintf(char *string, char *format [,argument,...]);,主要功能是將格式化的數(shù)據(jù)寫入某個字符串,即把格式化的輸出發(fā)送到string所指向的字符串。 sprintf是一個可變參數(shù)函數(shù)。使用sprintf向緩沖區(qū)寫入的字符數(shù)沒有限制,這就留下了緩沖區(qū)溢出的可能性。為了解決這個問題,可以考慮使用snprintf函數(shù),它對可以寫入的字符數(shù)設(shè)置了限制。
函數(shù)聲明
int sprintf(char *string, char *format [,argument,…]);
參數(shù)列表
string– 這是指向一個字符數(shù)組的指針,該數(shù)組存儲了 C 字符串。
format– 這是字符串,包含了要被寫入到字符串 str 的文本。它可以包含嵌入的 format 標(biāo)簽,format 標(biāo)簽可被隨后的附加參數(shù)中指定的值替換,并按需求進(jìn)行格式化。format 標(biāo)簽屬性是%[flags][width][.precision][length]specifier
把格式化的數(shù)據(jù)寫入某個字符串緩沖區(qū)。
返回值
如果成功,則返回寫入的字符總數(shù),不包括字符串追加在字符串末尾的空字符。如果失敗,則返回一個負(fù)數(shù)。
sprintf 返回以 format 為格式 argument 為內(nèi)容組成的結(jié)果被寫入 string 的字節(jié)數(shù),結(jié)束字符‘\0’不計入內(nèi)。即,如果“Hello”被寫入空間足夠大的 string 后,函數(shù) sprintf 返回 5。
上一篇: UWB技術(shù)作用是什么