Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

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の位置を指します。


  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’}

  2. C言語でのさまざまな検索手法は何ですか?

    検索手法とは、要素のリストから重要な要素を見つけることです。 指定された要素がリストに存在する場合、検索プロセスは成功したと言われます。 指定された要素がリストに存在しない場合、検索プロセスは失敗したと言われます。 C言語は、2種類の検索手法を提供します。それらは次のとおりです- 線形検索 二分探索 線形探索 キー要素の検索は直線的に行われます。 これは最も簡単な検索手法です。 リストが並べ替えられることは想定されていません。 制限-より多くの時間を消費し、システムの電力を削減します。 入力(i / p) ソートされていない要素のリスト、キー。 出力(o /