假设我有字符数组,就像这样替换字符:用字符串或另一个字符
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