CのStrstr

Strstr C



Strstr() C言語では組み込み関数です。 strstrの機能は、Ubuntuで作業している場合、Ubuntuターミナルにあるマニュアルから理解できます。次に、ターミナルにstrstrのガイドとその仕組みが表示されます。

$strstr







例1

strstrの最初の例を考えてみましょう。ファイル内のコードを使用しました。そして、ターミナルでこのファイルを介して出力を取得します。の入力が知られているように strstr は2つの文字列であり、一方の文字列の出現がもう一方の文字列で識別されます。まず、ライブラリヘッダー string.h 文字列の多くの機能を処理するために使用されます。このライブラリが導入されていない場合、文字列関数のプログラムを実行することはできません。このソースコードで使用されている文字列関数は次のとおりです。



NS= strstr ((s1s2)。

この場合、pはポインタです。 S1とS2は2つの文字列です。文字列s1でs2の出現を見つける必要があります。結果を出力するために、if-elseステートメントを使用して、文字列の最初の出現をチェックする条件を適用しました。特定のサブストリングがメインストリングに存在する場合、確認メッセージとともに表示されます。存在しない場合は、メッセージが表示されます。







上のスクリーンショットでは、小さな文字列を識別するために必要な入力文字列を確認できます。その小さな文字列は、ステートメントがパラメータの引数としてpを取り、の値としても言及されます。 strstr 関数が格納されています。

Linuxオペレーティングシステムで作業していて、出力を取得したい場合。次に、Ubuntuターミナルでいくつかのコマンドを使用してこれを行うことができます。最初のコマンドはコンパイル用です



$GCC –o file9 file9.c

コンパイルには、コンパイラーが必要です。コンパイラーは、LinuxでCプログラムをコンパイルするために使用されるGCCです。 -oは、結果をソースファイルからの出力ファイルに保存するために使用されます。次のステップは実行です。

$/file8

これは、ドット法を使用して完了します。ここでは、ファイル名にドットとスラッシュを使用しています。

出力には、部分文字列が存在したことが示され、ファイル内でのその場所も示されます。

例2

これは、ifステートメントを使用しないstrstr()関数のもう1つの簡単な例です。このCプログラムでは、文字列内の特定の単語を照合し、その単語が出現に応じて照合されるときにそれをフェッチします。次に、出力には、部分文字列とともに存在する単語と文字も表示されます。

出力= strstr((a、検索文字列)。;

発生は、コード内のポインター変数を使用して取得されます。このポインターは、部分文字列の場所を取得し、部分文字列を表示するために使用されるため、出力コマンドではアスタリスクなしの変数名のみを使用します。場所を表示する場合は、pointer(アスタリスク付きの変数)、つまり* outputを使用します。

これは出力で確認できます。関数という単語は部分文字列として検索されました。文字とサブストリングも表示されます。

例3

このコードでは、最初にサブ文字列の出現を検出し、次にこのサブ文字列を別の文字列に置き換えます。ここでも、2つの文字列が入力として予約されます。 1つは大きな文字列で、もう1つは出現が決定された後に置き換えられる単語です。 NS strstr関数 小さなサブ文字列を元のサブ文字列と一致させます。そして、一致が初めて見つかったときに、値を返します。ただし、この例では、この値はさらに置き換えられます。それがどのように機能するか見てみましょう。

P = strstr((s1、s2)。;

pがオカレンスの値を格納する場合、S1とs2は入力文字列です。

これで、その入力文字列の発生ポイントができました。次に、この文字列を別の単語に置き換えます。これは、ifステートメントの本文で行われます。これは、条件が真の場合、その単語が作成されてから、別の単語に置き換えられることを示しています。この置換は、別の文字列関数を介して行われます。

Strcpy((p、strstr)。

単語を次のように置き換えたい strstr 。ここで、pは、関数が置き換えたその部分文字列の最初の出現位置です。 Strcpy() 文字列内のこれらの2つの単語を置き換えます。出力は、同じコンパイル実行メソッドを介して取得されます。

出力から、文字列がstrcpy関数で説明した他の単語に置き換えられていることがわかります。

例4

この例は同じ概念を示しています。ここでは、部分文字列としての単語に加えて、文字として空き領域を使用しています。これは、ifステートメントを使用していない単純な図です。一致と表示の概念のみが適用されます。 2つの文字列が入力として使用されます。また、メッセージとともに単語が表示されます。 NS strstr 同じように機能します。

NS= strstr((a、b)。;

ここで、cは発生点が格納される変数です。

ここで、出力を取得します。

出力から、スペースも導入した部分文字列でカウントされていることがわかります。

例5

この例は、前の例とはかなり異なります。ここでは、別の関数を使用して次のアクションを実行しました strstr() メインプログラムの代わりに。比較すると、値は関数呼び出しのパラメーターの引数として渡されます。この例では、部分文字列について説明しました。プログラムは、実行後、出力の値ではなく、最初に出現する位置を表示します。関数は変数の値を受け取り、次に適用します strstr() これらの変数について。 if-elseステートメントを使用して、可用性を確認し、条件をtrueにし、falseの場合は、elseの部分に移動します。

チャー*pos = strstr((str、substr)。;

一方 NS は文字列、substrは部分文字列です。 Char * pos 文字列内で最初に出現する部分文字列の位置です。記号 ' %NS 表示されるステートメントに存在する ’は、部分文字列と文字列全体を置き換えることを意味します。パラメータ内の文字列の前に部分文字列が存在するため。

現在、メインプログラムに向かっています。最初に、関数呼び出しを介して渡される文字列が導入されます

Find_str((str、最高)。;

ここでは、文字列とともに部分文字列も追加しました。新しい部分文字列が追加されるたび。 2回目は、空きスペースの文字を追加しました。 3回目は、文字列の一部ではない部分文字列が追加されます。そして最後に、アルファベットが使用されます。

コマンドを使用して、以下に追加された結果を確認してください。

これは、Cプログラムの関数呼び出しの結果です。最初の2番目と4番目のステートメントは条件を満たすため、回答が表示されます。 3番目のものは関係がないので、else部分がこれを処理します。

結論

この記事では、 strstr 例とともに説明します。これらの例は、その概念をさまざまな方法で使用する際の多様性を示しています。文字列関数は、ライブラリにヘッダーが存在する場合に簡単に使用できます。