1. 程式人生 > >sprintf將數字轉為字串,或格式化字串

sprintf將數字轉為字串,或格式化字串

當將數字轉字串的itoa函式不可用時,==可以使用sprintf函式==,可達到一樣的效果,且移植性更強,同時也可以使用sprintf函式來格式化字串,功能強大。

例:

sprintf(*p, "%d", num); //將num轉為字串輸入到 p 中

這裡也可以形象的理解為是先將numprintf列印(在螢幕上輸出後肯定就是一個一個的字元了),然後再將螢幕上的輸出結果再輸入進相應的字串中。

按上這種理解,自然也就可以在其中加入其它內容,因為只要是printf能列印到螢幕上的內容都能進行新增,實際也如此(注:此處只是比喻!具體sprintf實現原理暫未深入研究)。

例:

int
a = 123; char b[] = "example"; char c[20]; sprintf(c, "%s - %d", b, a);

執行上述語句後C中的內容便會如下所示:

c[0] c[1] c[2] c[3] c[4] c[5] c[6] c[7] c[8] c[9] c[10] c[11] c[12] c[13]
e x a m p l e 空格 - 空格 1 2 3 \0

便會將上述這14個字元存入到c字串中,==後面會自帶一個“\0”!同時 c 中剩餘字元是不會被改動的,原來是什麼就是什麼,會發生改動的只有這14個字元。==