strtok関数の使い方を詳しく解説

zbt
リリース: 2023-11-28 10:15:59
オリジナル
1805 人が閲覧しました

strtok 関数は、指定された区切り文字に従って文字列を分割するために使用される関数であり、分割された部分文字列を複数回の呼び出しで 1 つずつ返すことができます。元の文字列は strtok 関数によって変更され、区切り文字が文字列終端文字 '\0' に置き換えられるため、すべての部分文字列が処理された後に元の文字列が変更される可能性があることに注意してください。元の文字列を保持する必要がある場合は、分割する前にコピーを作成できます。

strtok関数の使い方を詳しく解説

strtok 関数は、C 言語の文字列分割関数で、指定された区切り文字に従って文字列を分割し、分割されたサブ文字を返すために使用されます。弦。その使用法は次のとおりです:

char *strtok(char *str, const char *delimiters)
ログイン後にコピー

str: 分割する文字列。分割する文字列は最初の呼び出し時に渡され、その後の呼び出しでは NULL が渡されます。

delimiters: 区切り文字列。文字列の分割に使用される文字のセットを指定します。

strtok 関数は次のように動作します:

1. 初めて呼び出すときは、分割する文字列をパラメータとして渡し、最初の部分文字列のポインタを返します。

2. 後続の呼び出しで、最初のパラメーターとして NULL が渡された場合、関数は前の呼び出しの終わりから文字列を分割し続け、次の部分文字列へのポインターを返します。

3. 返す部分文字列がなくなった場合、関数は NULL を返します。

以下は、strtok 関数の使用法を示す簡単な例です:

#include
#include
int main() {
char str[] = "Hello, World! How are you?";
const char delimiters[] = " ,!";
// 第一次调用strtok
char *token = strtok(str, delimiters);
// 通过循环继续分割字符串
while (token != NULL) {
printf("%s\n", token);
// 后续调用strtok
token = strtok(NULL, delimiters);
}
return 0;
}
ログイン後にコピー

上の例では、文字列「Hello, World! How are」を変換します。 you?" は、スペース、カンマ、および感嘆符に従って分割されます。まず、初めて strtok 関数を呼び出し、分割する文字列と区切り文字列を渡します。この関数は、最初の部分文字列のポインタ "Hello" を返します。その後、ループを通じて strtok 関数の呼び出しを続け、最初のパラメーターとして NULL を渡し、文字列の分割を続けます。ループを通過するたびに、返すべき部分文字列がなくなるまで、関数は次の部分文字列へのポインターを返します。の場合、関数は NULL を返し、ループは終了します。

元の文字列は strtok 関数によって変更され、区切り文字が文字列終端文字 '\0' に置き換えられることに注意してください。が処理されると、元の文字列が変更されている可能性があります。元の文字列を保持する必要がある場合は、分割する前にコピーを作成できます。

要約すると、strtok 関数は文字列を分割するために使用される関数です。指定された区切り文字に従って分割された文字列を複数回呼び出すことで、分割された部分文字列を 1 つずつ返すことができます。strtok 関数の使い方と注意点を理解することで、文字列の分割の必要性を簡単に処理できます。

以上がstrtok関数の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!