Например, я выбираю строку «sd oeoeeo asd». Я должен заменить все «o» на «e» и наоборот: «sd eoeooe asd». Я намерен сделать это с помощью string
lib.
Я нашел довольно похожий вопрос ( Стандартная функция для замены символа или подстроки в массиве символов? ), но я не узнать, как заставить код работать в соответствии с моим условием. Бывает, что первое вхождение символа заменяется, а затем заменяется только один символ:
char* replace_char(char* str, char find, char replace){
char temp = find;
char *current_pos = strchr(str,find);
char *current_posc2 = strchr(str,replace);
while (current_pos) {
*current_pos = replace;
current_pos = strchr(current_pos,find);
}
while (current_posc2) {
*current_posc2 = find;
current_posc2 = strchr(current_posc2, replace);
}
return str;
}
На c1='e'
и c2='o'
Я получаю:
Я хотел добавить третью переменную temp
, но мои предложения по ее реализации были неправильными и не сработали.