c语言,用户键入一段英文文字,将字符串“Changzhou”全部替换成“*****”后输出
时间: 2024-11-20 19:29:56 浏览: 20
在C语言中,你可以通过遍历输入的英文字符串并逐字符替换特定字符的方式来实现这个功能。这里有一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
void replace_char(char *str, const char *search, const char *replace) {
int search_len = strlen(search);
for (int i = 0; str[i] != '\0'; ++i) {
if (strncmp(str + i, search, search_len) == 0) { // 检查是否找到匹配
// 使用strcpy_s函数替换子串,这里假设你正在使用的系统支持这个函数,实际项目中应使用memcpy或 strncpy+strlen
strcpy_s(str + i, replace_len + i, replace); // 避免缓冲区溢出
i += search_len - 1; // 跳过已替换的部分继续检查
}
}
}
int main() {
char input[100]; // 假设用户最多输入99个字符
printf("请输入一段英文文字:");
fgets(input, sizeof(input), stdin); // 读取用户输入,包括换行符
// 删除末尾的换行符
input[strcspn(input, "\n")] = '\0';
replace_char(input, "Changzhou", "*****"); // 替换操作
printf("替换后的字符串:%s\n", input);
return 0;
}
```
在这个例子中,`replace_char`函数会查找给定字符串中是否包含"Changzhou",如果找到了就将其替换为"*****"。
阅读全文