在C语言中,sub函数的用法是用于从字符串中删除指定的子字符串。
函数声明:char *sub(char *str, const char *substr)
参数:
返回值:返回删除子字符串后的新字符串
示例代码:
#include <stdio.h>
#include <string.h>
char *sub(char *str, const char *substr) {
char *ptr = strstr(str, substr); // 在原始字符串中找到子字符串的位置
if (ptr != NULL) {
memmove(ptr, ptr + strlen(substr), strlen(ptr + strlen(substr)) + 1); // 删除子字符串
}
return str;
}
int main() {
char str[100] = "Hello World!";
char substr[10] = "World";
printf("Original string: %s\n", str);
printf("Substring to remove: %s\n", substr);
sub(str, substr);
printf("String after removing substring: %s\n", str);
return 0;
}
输出结果:
Original string: Hello World!
Substring to remove: World
String after removing substring: Hello !
在上面的示例中,sub函数使用了strstr
函数来找到子字符串的位置,并使用memmove
函数将子字符串后面的字符向前移动,覆盖掉子字符串,最终返回删除子字符串后的新字符串。