C C 中sprintf的用法

2021-06-20 16:57:25 字數 651 閱讀 4421

原型:int sprintf( char *buffer, const char *format [, argument] … ); 功能:把格式化的資料寫入buffer容器中(字串),返回buffer的長度。這裡s為乙個buffer,型別為字元陣列名或者字元指標(需要初始化)。

sprintf(s, "%d", 123); //產生"123"

sprintf(s, "%8d%8d", 123, 4567); //產生:"     123    4567"(123前5個字元寬,4567前4個字元寬)

sprintf(s,"%m.ns",cp);//這裡m為m個字元寬,如果輸出的多於m個字元,則按實際需要分配寬度,如果少於m個字元則在左邊(-m.n時在右邊,此時是左對齊)補足不夠的字元數的寬度。n為擷取cp的前n個字元,後面補'\0'。在格式化到s中時都將加有'\0'結束符。該函式的實際執行過程是:將s和format位址遞加,逐個賦值,即:s[i]=format[i](i=0,1,2,……)。

另外,s如果為陣列,跟陣列的長度沒關係,也就是不會出現值溢位問題,因為這裡取的只是首位址,字元多於乙個時,首位址遞加。當然不管用printf還是sprintf列印到螢幕和列印到字串中,都是遇'\0'結束的。相反,如果字元陣列沒有'\0',呼叫printf或者sprintf時會出現未知資料。因為函式是直到遇到空字元結束的。

sprintf中細節用法

在看程式時看到這樣兩句話 sprintf format,c ds length sprintf column,format,name 現在假設length 17,name test 那麼format是 17s column是 test 第一句程式中替代 c的是 替代 d的是length,其實這還是帶...

sprintf 函式的用法

最近在做畢業設計,裡面需要把圖形的座標轉換為字元來檢驗圖形座標的正確與否。所以較多的用到了sprintf 函式。例如 int sign 100 char s1 10 sprintf s1,d sign pdc textout 0,0,s1 這裡就把sprintf 函式的用法總結一下。int spri...

sprintf函式的用法

sprintf 格式化輸出函式 圖形 功能 函式sprintf 用來作格式化的輸出。用法 此函式呼叫方式為int sprintf char string,char format,arg list 說 明 函式sprintf 的用法和printf 函式一樣,只是sprintf 函式給出第乙個引數str...