2011-10-12 54 views
1

因此,我有一個char **args,但我想將所有字符串連接成單個char *newArgs而不使用string.h如何在不使用string.h的情況下連接不確定數量的字符串

任何人都知道一個很好的方法來做到這一點?

+0

你知道有多少參數,還是有其他一些終止方式? –

+0

我可以弄清楚有多少。我也知道每個字符串都是以NULL結尾的 –

+1

你可以先用'string.h'函數解決問題,然後實現你自己的替換版本。 – Blastfurnace

回答

5

這實際上是少數幾個不考慮標準實現(string.h)並構建自己的連接函數的案例之一,可以讓您獲得更好的結果。請參閱討論此主題的Joel's fantastic article

但是回到你的問題:你需要對args中的字符串進行兩次通過。在第一遍中,你總結了字符串的長度(不要忘記空終止符!)。現在你已經有了結果字符串的長度,你可以爲newArgs分配一個緩衝區。另一方面,您將內容從args複製到newArgs

相關問題