我尝试制作一个程序,以便在我尝试将"hello how are you"
更改为"hello bow are you"
作为测试时,查找并替换字符串中的某些文字。
首先,我使用"how"
找到char *substring = strstr(mystring, newstr);
它返回指向"(this position)how are you"
的指针现在我不知道如何更改接下来的3个字母。我可以strlen(newstr)
代替"how"
替换(e.getSource() == cl)
的字符串的长度,但我找不到从指针newstr开始更改mystring的方法。
答案 0 :(得分:5)
通过下标子字符串来更改第一个字符。
substring[0] = 'b';
如果要替换多个字符,请尝试循环或使用memcpy。不要使用strcpy:你不希望复制NUL终结符。
memcpy(substring, "how", 3);
答案 1 :(得分:-2)
*substring = 'b';
由用户EOF发布我的解决方案就是这样
for (int x = 0; x < strlen(newstring); x++){
*substring++ = newstring[x];
}