C言語のstrtok()関数とは何ですか?
strtok()関数は、
strtok()関数の構文は次のとおりです-
char* strtok(char* string, const char* limiter);
入力文字列文字列と区切り文字リミッタ。 strtok()は、区切られた文字に基づいて文字列をトークンに分割します。
strtok()から文字列のリストを期待できます。ただし、strtok(input、limiter)を呼び出した後、最初のトークンを返すため、関数は単一の文字列を返します。
ただし、NULLになるまで、NULL入力文字列で関数を何度も呼び出し続ける必要があります。通常、関数がNULLを返すまで、strtok(NULL、delim)を呼び出し続けていました。
例
以下は、 strtok()関数のCプログラムです。 −
#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:\n"); for (int i=0; i < num_tokens; i++) { printf("%s\n", token_list[i]); } return 0; }
出力
上記のプログラムを実行すると、次の結果が得られます-
Token List: Hello Tutorials Point!
入力文字列は「HelloTutorialsPoint」であり、スペースでトークン化しようとしています。
strtok(input、 "")を使用して最初のトークンを取得します。ここでは、二重引用符は区切り文字であり、1文字の文字列です!
その後、strtok(NULL、 "")を使用してトークンを取得し続け、strtok()からNULLを取得するまでループします。
-
C言語のstrcmp()関数とは何ですか?
Cライブラリ関数intstrcmp(const char * str1、const char * str2) str1が指す文字列を比較します str2が指す文字列へ 。 文字の配列は文字列と呼ばれます。 宣言 以下は配列の宣言です- char stringname [size]; 例-charstring[50];長さ50文字の文字列 初期化 単一文字定数の使用- char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,&ls
-
C言語のstrcpy()関数とは何ですか?
Cライブラリ関数char* strcpy(char * dest、const char * src) srcが指す文字列をコピーします 宛先へ 。 文字の配列は文字列と呼ばれます。 宣言 以下は配列の宣言です char stringname [size]; 例-charstring[50];長さ50文字の文字列 初期化 単一文字定数の使用- char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}