C言語のsub関数の機能
C言語の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()関数を呼び出す必要があることに注意してください。