ホームページ よくある問題 strtok関数の使い方を詳しく解説

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

Nov 28, 2023 am 10:15 AM
ストラトーク関数

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)