阅读量:0
在C语言中,sub
函数是一种用于字符串操作的函数,用于从一个字符串中删除指定的子字符串。
sub
函数的用法如下:
char *sub(const char *str, const char *sub_str)
其中,str
是要操作的源字符串,sub_str
是要删除的子字符串。
sub
函数会从str
中删除所有的sub_str
,并返回一个指向结果字符串的指针。如果str
中不包含sub_str
,则返回str
的副本。
以下是一个sub
函数的示例使用:
#include <stdio.h> #include <string.h> char *sub(const char *str, const char *sub_str) { char *result = (char *)malloc(strlen(str) + 1); char *p = result; int sub_len = strlen(sub_str); while (*str) { if (strncmp(str, sub_str, sub_len) == 0) { str += sub_len; } else { *p++ = *str++; } } *p = '\0'; return result; } int main() { const char *str = "Hello, World!"; const char *sub_str = "o"; char *result = sub(str, sub_str); printf("Result: %s\n", result); free(result); return 0; }
这个示例中,sub
函数用于删除字符串str
中的所有字符o
,然后打印结果字符串。输出结果为:
Result: Hell, Wrld!
需要注意的是,在使用完sub
函数返回的结果字符串后,需要手动调用free()
函数释放动态分配的内存空间。