void insert(char *pSrc, char *pDst, int pos, char ch)
{
for(int i = 0; i < pos; i ++)
{
*(pDst+i) = *(pSrc+i)
}
*(pDst+pos) = ch;
for(int i = pos; i < strlen(pSrc); i ++)
{
*(pDst+pos+1) = *(pSrc+pos);
}
return;
}
追问不是一来就是知道指定位置,而是先要判断指定位置在哪里 在插入,举个例子哦,
如果是这样+1000-v 把第一个0变成B 并且B前面加- 算法又怎么样?
追答请下次提问把问题描述清楚。
针对你追问内容,是不是可以这样认为:你目的是把源字符串中某个字符的第一次出现替换成你想改变的字符??
即你举的例子:+1000-v 中第一个0替换成-B,即最终字符串为:+1-B00-v对吧?
void insert(char *pSrc, char *pDst, char ch, char *pReplace)
{
char c;
bool found = false;
for(int i = 0, j = 0; i < strlen(pSrc); i ++, j ++)
{
c = *(pSrc+i);
if( c == ch && found == false)
{
found = true;
int len = strlen(pReplace);
for(int m = 0; m < len; m ++, j++)
*(pDst+j) = *(pReplace+m)
}
else
*(pDst+j) = *(pSrc+i)
}
return;
}本回答被提问者采纳