C言語の文字列検索機能とは何ですか?
ライブラリには、次のようないくつかの文字列検索関数も用意されています-
char * strchr(const char * string、intc); | 文字列内で最初に出現する文字cを検索します。 |
char "strrchr(const char" string、intc); | 文字列内で最後に出現する文字cを検索します。 |
char * strpbrk(const char * s1、const char * s2); | は、文字列s2の任意の文字の文字列s1で最初に出現するポインタを返します。または、s2の文字がs1に存在しない場合はnullポインタを返します。 |
size_t strspn(const char * s1、const char * s2); | は、s2と一致するs1の先頭の文字数を返します。 |
size_t strcspn(const char * 51、const char * s2); | は、s1の先頭にあるしない文字数を返します。 s2に一致します。 |
char * strtok(char * s1、const char * s2); | siが指す文字列をトークンのシーケンスに分割します。各トークンは、s2が指す文字列から1文字以上で区切られます。 |
char * strtok_r(char * s1、const char * s2、char | は、** lasts)を除いてstrtok()と同じ機能を備えています。文字列プレースホルダーへのポインターが続くことは、呼び出し元が指定する必要があります。 |
strchr()とstrrchr()は最も簡単に使用できます。
例1
以下は、文字列検索機能のCプログラムです。 −
#include <string.h> #include <stdio.h> void main(){ char *str1 = "Hello"; char *ans; ans = strchr (str1,'l'); printf("%s\n", ans); }
出力
上記のプログラムを実行すると、次の結果が得られます-
llo
この実行後、ansは場所str1+2を指します。
strpbrk() は、文字のグループのいずれかの最初の出現を検索する、より一般的な関数です。
例2
以下は、 strpbrk()関数を使用するためのCプログラムです。 −
#include <string.h> #include <stdio.h> void main(){ char *str1 = "Hello"; char *ans; ans = strpbrk (str1,"aeiou"); printf("%s\n",ans); }
出力
上記のプログラムを実行すると、次の結果が得られます-
ello
ここで、ansは最初のeの位置であるstr1+1の位置を指します。
-
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’}
-
C言語でのさまざまな検索手法は何ですか?
検索手法とは、要素のリストから重要な要素を見つけることです。 指定された要素がリストに存在する場合、検索プロセスは成功したと言われます。 指定された要素がリストに存在しない場合、検索プロセスは失敗したと言われます。 C言語は、2種類の検索手法を提供します。それらは次のとおりです- 線形検索 二分探索 線形探索 キー要素の検索は直線的に行われます。 これは最も簡単な検索手法です。 リストが並べ替えられることは想定されていません。 制限-より多くの時間を消費し、システムの電力を削減します。 入力(i / p) ソートされていない要素のリスト、キー。 出力(o /