假設我有字符數組,就像這樣替換字符:用字符串或另一個字符
abc def ghi jkl ...
其中單詞由空格分隔只是。
我的目標是用我希望的其他字符串(字符)替換所有現有空間。例如:
abcMNPdefQRTghiXYZjkl
我想到了創建一個名爲更換功能可以做到以下幾點:
void replace(char *str, int pos, char *rep)
{
//get length of rep
//pos = position of the blank which i want to replace with rep
//code to do the replacement
}
我最初的想法是右移strlen(rep)
然後海峽的元素insert rep。
這個想法是否有用,或者還有其他更好的方法嗎?
'rep'將會是「長度」1,字節大小1 – 2014-12-05 00:01:34
是的,它應該說'char * rep'。我糾正了它。 – Alex 2014-12-05 00:03:07
我將首先使用帶有字符串處理的語言。但是如果你堅持使用C語言,爲新字符串分配一個大空間,從舊字符串到新字符一次複製一個字符,在那個時候插入額外字符,然後複製新的字符創建字符串到最終的家。試圖「插入」到一個字符串中,我的移動字節只是要求麻煩。 – 2014-12-05 00:07:27