Давайте скажем, что у меня есть char * p и p имеет фразу «это непросто». и он заканчивается в конце. Я хочу выполнить поиск через p и где бы я ни столкнулся с 's', я хочу поставить вместо этого «101» без удаления каких-либо других символов. Итак, для этого примера p идет от «это непросто». to "thi101 i101 not ea101y." Я также могу использовать только заголовки stdio.h, stdlib.h и string.h.Как вставить строку символов в середину символа char * и сдвинуть все chararcters вправо без удаления ничего
char q[] = "s";
char r[] = "101";
for(int j = 0; s[j]!='\0'; j++){
if(s[j]==q[0]){
int temp = 0;
s[j] = r[temp];
temp++;
int temp2 = j;
while(temp<3){
for(int k = length; k>j+1; k--){
s[k]=s[k-1];
}
s[j] = r[temp];
temp++;
j++;
}
j = temp2;
}
}
}
s это строка, о которой я упоминал ранее, «это непросто».
Выход, который я получаю, является «thi011 i011 not ea», который не может быть прав.
** Скажем, ** Я спрашиваю вас, что вы пробовали? И если в ближайшие 2 минуты ответа не будет, я также могу голосовать за это. – P0W
По крайней мере, название было разумно сформировано как вопрос (хотя и немного длинный), что больше, чем большинство вопросов с одним представителем, размещенных здесь. Остальное, однако ... тьфу. – WhozCraig
Я добавил фрагмент кода и то, что я получаю на данный момент. – user2923535