strtok_r() 関数は C 言語の関数であり、その機能は文字列を一連の部分文字列に分割することです。

王林
リリース: 2023-08-26 09:45:11
転載
2077 人が閲覧しました

strtok_r() 関数は C 言語の関数であり、その機能は文字列を一連の部分文字列に分割することです。

この関数は strtok() 関数に似ています。唯一の主な違いは、リエントラント関数と呼ばれる _r です。

リエントラント関数は、実行中に中断できる関数です。このタイプの関数は、実行を再開するために使用できます。

したがって、リエントラント関数はスレッドセーフです。つまり、損傷を引き起こすことなくスレッドによって安全に中断できることを意味します。

strtok_r() 関数には、context と呼ばれる追加のパラメーターがあります。このようにして、機能を正しい場所に復元できます。

strtok_r() 関数の構文 は次のとおりです。

#include <string.h>
char *strtok_r(char *string, const char *limiter, char **context);
ログイン後にコピー

Example

以下は、

strtok_r() 関数を使用する C プログラムです。 -

ライブ デモンストレーション

#include <stdio.h>
#include <string.h>
int main(){
   char input_string[] = "Hello Tutorials Point";
   char token_list[20][20];
   char* context = NULL;
   char* token = strtok_r(input_string, " ", &context);
   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_r(NULL, " ", &context);
   }
   // 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
ログイン後にコピー

以上がstrtok_r() 関数は C 言語の関数であり、その機能は文字列を一連の部分文字列に分割することです。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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