在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()
函數釋放動態分配的內存空間。