在目标C语言中,可以使用strchr
函数来查找字符串中的空格,然后使用memmove
函数将空格之后的字符向前移动,最后将空格替换为下划线。以下是一个示例代码:
#include<stdio.h>
#include<string.h>
void replace_space_with_underscore(char *str) {
char *space_ptr = strchr(str, ' ');
while (space_ptr != NULL) {
memmove(space_ptr, space_ptr + 1, strlen(space_ptr + 1) + 1);
*space_ptr = '_';
space_ptr = strchr(space_ptr, ' ');
}
}
int main() {
char str[] = "这是 一个 测试 字符串";
printf("原始字符串: %s\n", str);
replace_space_with_underscore(str);
printf("替换后的字符串: %s\n", str);
return 0;
}
输出结果:
原始字符串: 这是 一个 测试 字符串
替换后的字符串: 这是_一个_测试_字符串
这个示例代码中,replace_space_with_underscore
函数接收一个字符串指针作为参数,然后使用strchr
函数查找字符串中的空格,如果找到了空格,就使用memmove
函数将空格之后的字符向前移动,并将空格替换为下划线。这个过程会一直进行,直到字符串中没有空格为止。
领取专属 10元无门槛券
手把手带您无忧上云