[爆卦]sprintf用法是什麼?優點缺點精華區懶人包

為什麼這篇sprintf用法鄉民發文收入到精華區:因為在sprintf用法這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者donby (東逼)站內C_and_CPP標題[問題] 不用sprintf的寫法時間Sun Ja...



大家好

最近在練習C語言的時候遇到一個問題

關於sprintf的用法

我知道

sprintf(str,"abc%xdef",123);

的意思是把123這個數字轉乘16進位後填到字串abc%xdef後

再把這整串字串填到str裡面

所以最後的str為"abc7Bdef"

今天的問題是假如不用 sprintf 以及 %x 這個函數

要怎麼達成跟sprintf一樣的效果? @@

在此假設輸出格式只有16進位的情況而已


我自己的想法是

寫一個函數型式為 char *test(char* str1,char* str2,int num);

在這個函數中

我先把num轉成16進位

再把str2中有%x的地方給取代掉


但是我有個問題

就是如果今天引數不只一個 ex: test(str,abc%xdef%x,123,456)

那函數的原型要怎麼定義?@@

我知道main可以用 int main(int argc,char* argv[])

那自己定義的函數也可以用這樣的方式嗎?@@


現在主要是卡在不知道引數個數的情況下函數要怎麼定義 Orz

所以就來請教大家了 @@"

在此就先謝謝大家的回覆囉~~~~



--

▍ ▍ ╯╰ ╯╰ ◢◣ ◢◣ 我最愛的 柏柏龍~ 柏柏龍~
◢██◣ ╮╭ ▎▎╮╭ ▎▎ 柏柏龍~ 柏柏龍~
⊙ ⊙ ⊙ ⊙ 人人心中都有柏柏龍~
≡ ▼ ≡ ▲▲ ● ● ≡ ▼ ≡ ■ ■ ■ ■ 憤怒就永遠不會消失~
⊙⊙ ≡皿 ≡ 炸是最美的擁有~

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.20.65
x000032001:http://ppt.cc/eEFP ?? 01/16 14:54
slanla:不定參數..va_arg, va_end, va_start??? 01/16 14:54
qsort:這好像我以前計概寫過的作業,自己寫一個printf之類的... 01/16 15:25
qsort:結論就是....請參考sprintf的source code (誤) 01/16 15:26
qsort:隨便找都有版本 "A tiny printf".. 01/16 15:28
loveme00835:不推薦寫不定參數的東西, 有夠危險, 你該想的是如何把 01/16 23:56
loveme00835:流程分得更詳細, 會把數字轉成16進位字串了, 那取代字 01/16 23:57
loveme00835:串該怎麼做? 需要多個整數傳指標進去不就好了? 01/16 23:57
loveme00835:http://codepad.org/HDTS2YUn 01/16 23:57
softwind:__VA_ARGS__, plz check "Variadic Macros" 01/17 00:07
softwind:不定引數會危險... 通常是 user的問題, printf("%s",0); 01/17 00:09
softwind:也是當給你看 不用太擔心~ 當機比未定狀態好了 01/17 00:10
loveme00835:不定引數也沒有彈性, 更不用說語意明不明確了, 不是方 01/17 00:19
loveme00835:便就好 01/17 00:19

你可能也想看看

搜尋相關網站