strtok() 関数は
strtok() 関数の構文−
char* strtok(char* string, const char* limiter);
文字列と区切り文字リミッターを入力します。 strtok() は、区切り文字に基づいて文字列をトークンに分割します。
strtok() から文字列のリストを取得することが期待できます。ただし、strtok(input, limiter) を呼び出した後は最初のトークンが返されるため、この関数は別の文字列を返します。
しかし、NULL が得られるまで、空の入力文字列に対して関数を何度も呼び出す必要があります。
通常、NULL が返されるまで strtok(NULL, delim) を呼び出し続けます。次は、C プログラムの strtok() 関数です。例:
オンライン デモンストレーション
#include <stdio.h> #include <string.h> int main() { char input_string[] = "Hello Tutorials Point!"; char token_list[20][20]; char* token = strtok(input_string, " "); int num_tokens = 0; // Index to token list. We will append to the list while (token != NULL) { strcpy(token_list[num_tokens], token); // Copy to token list num_tokens++; token = strtok(NULL, " "); // Get the next token. Notice that input=NULL now! } // Print the list of tokens printf("Token List:</p><p>"); for (int i=0; i < num_tokens; i++) { printf("%s</p><p>", token_list[i]); } return 0; }
上記のプログラムを実行すると、次の結果が生成されます。-
Token List: Hello Tutorials Point!
入力文字列は「Hello Tutorials Point」で、スペースで区切ろうとします。
strtok(input, " ") を使用して最初のトークンを取得します。ここでは二重引用符が区切り文字であり、単一の文字列です。
その後、引き続き strtok(NULL, " ") を使用してタグを取得し、strtok() から NULL を取得するまでループします。
以上がC言語のstrtok()関数とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。