c++字符串替换西安邮电大学
时间: 2023-06-08 19:07:00 浏览: 132
好的,让我来帮你实现字符串替换的功能。你可以使用以下代码来替换字符串中的指定字符或字符串:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[100], oldChar, newChar;
printf("请输入字符串:\n");
gets(str);
printf("请输入要替换的字符:\n");
oldChar = getchar();
getchar(); // 这里需要多读一个字符,否则会影响后面的输入
printf("请输入替换后的字符:\n");
newChar = getchar();
for (int i = 0; i < strlen(str); i++) {
if (str[i] == oldChar) {
str[i] = newChar;
}
}
printf("替换后的字符串为:\n%s\n", str);
return 0;
}
```
如果要替换字符串中的另一个字符串,可以使用 strstr() 函数来寻找子串的位置,并使用 strncpy() 函数来替换原字符串中的子串。下面是相应的代码示例:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[100], oldStr[20], newStr[20];
printf("请输入字符串:\n");
gets(str);
printf("请输入要替换的子串:\n");
gets(oldStr);
printf("请输入替换后的子串:\n");
gets(newStr);
int oldLen = strlen(oldStr), newLen = strlen(newStr);
char *p = strstr(str, oldStr);
while (p != NULL) {
if (newLen != oldLen) {
memmove(p + newLen, p + oldLen, strlen(p + oldLen) + 1);
}
strncpy(p, newStr, newLen);
p = strstr(p + newLen, oldStr);
}
printf("替换后的字符串为:\n%s\n", str);
return 0;
}
```
希望对你有所帮助。
阅读全文