C の文字列関数

公開: 2022-11-14

C でのプログラミングでは、一連の文字とさまざまな既存の関数を使用して、長いコーディング プロセスを簡潔で正確な関数に単純化し、簡単に実装できるようにします。 これらの機能により、プログラマーは限られた文字内に複数の操作を装備し、文字列を操作することが容易になります。 さまざまなプログラミング言語には組み込み関数が含まれており、気まぐれで正確に使用する準備ができています。

今日は、C プログラミング言語の文字列とその関数について説明し、さまざまな文字列関数、その使用法、利点、およびプログラマーの作業を動的にするその他の機能についての詳細な洞察をつかみます。

目次

文字列とは

文字列はさまざまなプログラミング言語に存在しますが、c は文字列を通常のプログラミング言語とは異なる方法で処理します。 C 言語では、文字列は文字の 1 次元配列であり、各文字列の文字が配列内の 1 つの場所を占めます。 文字列は、任意の文字列の末尾を指す '\0' で定義されたヌル文字で終了します。

文字と文字列の表現を見てみましょう。

char string[10] = {'w','e','l','c','o','m','e','\0'};

char string[10] = “ようこそ”;

char string []= “ようこそ”;

ヌル文字で文字列を終了することは、一連の文字を文字列として認識するために重要です。 それ以外の場合は、null ターミネータのない単なる文字列です。 文字列は二重引用符で囲み、一重引用符は一連の文字を囲むことに注意してください。 文字列を string[10] として宣言すると、10 バイトの文字列が割り当てられますが、string[] はプログラムの実行中にメモリを割り当てます。

世界トップクラスの大学が提供するソフトウェア開発コースをオンラインで学びましょう。 エグゼクティブ PG プログラム、上級認定プログラム、または修士プログラムを取得して、キャリアを加速させましょう。

文字列の宣言

前述のように、文字列は 2 つの異なる方法を使用して宣言されます。 C は 1 次元の統計言語です。 したがって、文字列変数では、任意の文字列に特定の意味を付加する宣言が必要です。

たとえば、 char temp[]="一時文字列";

t e メートルp s t r n g \0

char 型の文字列を二重引用符で囲んで宣言すると、文字列の末尾に '\0' が直接適用されて終了します。 char temp[]="temp string";のように表現することもできます。

  • 「string[6]」として宣言された文字は、文字列値を割り当てるために 6 バイトのメモリを保持します。 一方、「 string[] 」として宣言すると、プログラムの実行を通じて必要に応じてスペースが割り当てられます。

文字列の初期化

宣言と初期化のプロセスは密接に関連しており、宣言は変数の存在を宣言し、初期化は変数に値を割り当てます。 c での文字列の初期化には、多くの実装方法があります。 それらのいくつかを次に示します。

  • char t[]="一時文字列";
  • char t[10]="一時文字列";
  • char t[]={'t','e','m','d','\0'};
  • char t[5]={'t','e','m','d','\0'};

C の文字列関数

文字列の処理を簡単にするために、C プログラミング言語の文字列関数が含まれています。 文字列関数は、特定のタスクを実行する一連の文を参照します。 これらの関数をさまざまな文字列で再利用して文字列処理を簡素化し、異なるコーディング パターンで同じ命令セットを使用できるようにします。 多くのプログラマーは、コードを何度も書き直す時間を節約するために文字列関数の恩恵を受けています。 文字列関数を使用する利点は次のとおりです。

  • コードのサイズを縮小
  • 読みやすさの向上
  • より簡単なデバッグ プロセス
  • コードの再利用性が向上し、プログラマーはコードを最初から作成しなくても同様の機能を使用できるようになりました。

文字列関数の種類

複雑なコード シーケンスを使用してコードを操作する代わりに、さまざまな組み込み文字列関数を使用して、「string.h」と呼ばれる C 言語の標準文字列処理関数ライブラリに格納されている文字列を処理できます。

次に、一般的な文字列処理関数をいくつか示します。

1. 関数 printf() および scanf()

scanf()関数は、空白または末尾に直面するまでユーザーからの入力を取得するために使用されます。

例えば:

#include <stdio.h>

int main()

{

int testInteger;

printf(“整数を入力してください: “);

scanf(“%d”, &testInteger);

printf(“Number = %d”,testInteger);

0 を返します。

}

出力:

整数を入力してください: 4

数 = 4

printf()関数は、書式設定された出力を画面に表示し、文字列と変数の両方を出力します。

例えば:

#include <stdio.h>

int main()

{

// 引用符内の文字列を表示します

printf(“C プログラミング”);

0 を返します。

}

出力:

Cプログラミング

ソフトウェア エンジニアリングに関する人気のコースと記事

人気番組
ソフトウェア開発のエグゼクティブ PG プログラム - IIIT B ブロックチェーン証明書プログラム - PURDUE サイバーセキュリティ証明書プログラム - PURDUE コンピューター サイエンスの MSC - IIIT B
その他の人気記事
米国のクラウド エンジニアの給与 2021-22 米国でのAWSソリューションアーキテクトの給与 米国のバックエンド開発者の給与 米国のフロントエンド開発者の給与
アメリカのウェブ開発者の給与 2022年のスクラムマスターインタビューの質問. 2022年にサイバーセキュリティのキャリアを始めるには? 工学部学生のための米国でのキャリアオプション

2. 関数 puts() および gets()

gets()関数は、空白を文字列として読み取りながらユーザー入力を受け取ります。 一方、 puts()関数を使用すると、文字列出力をユーザー画面に表示できます。

例えば:

#include main()

int main()

{

文字温度[20];

printf(“あなたの名前を入力してください”);

取得 (一時);

printf(“私の名前は: ”);

puts(一時);

0 を返します。

}

3. 関数 strcpy()

strcpy()関数は、ある文字列の内容を別の文字列にコピーします。

例えば:

#include <stdio.h>

#include <string.h>

int main()

{

char s1[30] = "文字列 1";

char s2[30] = “文字列 2 : s1 にコピーします”;

/* この関数は s2 を s1 にコピーしました*/

strcpy(s1,s2);

printf(“文字列 s1 は: %s”, s1);

0 を返します。

}

出力:

文字列 s1 は: 文字列 2: s1 にコピーします

4. 関数 strlen()

文字列の長さを取得する手動プログラムを作成する代わりに、関数strlen()を使用して文字列の長さを調べます。

例えば:

#include <stdio.h>

#include <string.h>

int main()

{

char str1[20] = “ビギナーズブック”;

printf(“maxlen が 30 の場合の文字列 str1 の長さ: %d”, strnlen(str1, 30));

printf(“maxlen が 10 の場合の文字列 str1 の長さ: %d”, strnlen(str1, 10));

0 を返します。

}

出力:

maxlen が 30 の場合の文字列 str1 の長さ: 13

maxlen が 10 の場合の文字列 str1 の長さ: 10

5. 関数 strrev()

strrev()関数を使用して、任意の文字列の内容を逆にすることができます。

例えば:

#include<stdio.h>

#include<string.h>

int main()

{

char temp[20]="リバース";

printf(“反転前の文字列: %s\n”, temp);

printf(“strrev() 後の文字列 :%s”, strrev(temp));

0 を返します。

}

6. 関数 strcmp()

strcmp()関数は、2 つの文字列を比較するために使用されます。 C の関数 strcmp は、2 つの文字列間の相互の特徴を比較して結果を返します。 文字列が類似している場合、C の strcmp はそれをキャッチします。

例えば:

#include <stdio.h>

#include <string.h>

int main()

{

char s1[20] = “ビギナーズブック”;

char s2[20] = “BeginnersBook.COM”;

if (strcmp(s1, s2) ==0)

{

printf(“文字列 1 と文字列 2 は等しい”);

}そうしないと

{

printf(“文字列 1 と 2 が異なります”);

}

0 を返します。

}

出力:

1弦と2弦が違う

7. 関数 strcat()

strcat()関数を使用して、ソース文字列を宛先文字列の末尾に追加します。 (猫は連結を指します)

例えば:

#include <stdio.h>

#include <string.h>

int main()

{

char s1[10] = "こんにちは";

char s2[10] = "世界";

strcat(s1,s2);

printf(“連結後の出力文字列: %s”, s1);

0 を返します。

}

出力:

連結後の出力文字列: HelloWorld

8. 関数 strlwr()/strupr()

strlwr() および strupr()関数は、文字を小文字から大文字に、またはその逆に変換するのに役立ちます。

例えば:

#include<stdio.h>

#include<string.h>

int main()

{

char str[]="CONVERT me to the Lower Case";

printf(“%s\n”, strlwr(str));

0 を返します。

}

出力:

私を小文字に変換して

同様に、 strlwr() の代わりにstrupr ()関数を使用すると、結果の出力は大文字に変換されます

プログラマーとしてのキャリアチャンスを広げる

C またはその他のプログラミング言語の完全な知識は、IT キャリアを成功させるための有利なスタートを切ることができます。 必要なのは、専門的な認定資格と、スキルを向上させるための専用のマインドスペースだけです。 ソフトウェア開発における upGrad のエグゼクティブ プログラム。 、パデュー大学によって拡張された、フルスタックのキャリアを始めるチャンスです。

コースのカリキュラムは、MERN、開発、プログラミングの基礎、API、フロントエンドとバックエンドの開発、DevOps など、最新のスキルに従って準備されています。 驚くべきことに、学習者は以前のコーディング言語を持参する必要がないため、このプログラムはすべての技術志望者に開かれています!

経験豊富な教職員とともに、upGrad のダイナミックな学習プラットフォームにより、学生は、現在の技術市場に関連する詳細な概念についてトレーニングする業界のリーダーによる活気ある環境で学ぶことができます。

詳細については、 upGradアクセスしてください

結論

これらの組み込み関数は、プログラマーが複雑なコーディング シーケンスを使用して特定の操作用の関数を作成する時間と労力を節約するのに非常に信頼性があります。 これらの説明された関数に加えて、文字列ヘッダー ファイルには、プログラミングを簡素化するためのさまざまな関数にリンクされた操作が含まれています。

それらすべてを探索するために練習を続けてください!

文字列とその型とは?

文字列は、計算プログラミングで広く使用されるヌル文字で終了する文字のコレクションです。 複雑なコーディング シーケンスを簡素化するさまざまな機能があり、さまざまなプログラミング言語でいくつかのデータ型がありますが、C 言語では、文字列は文字データ型のみをサポートします。

Cのヌル文字とは何ですか?

C のヌル文字は、値を持たない任意の文字を指します。 ヌル文字は数値としてゼロを持ち、ヌル ターミネータとも呼ばれます。 値がゼロの文字と見なされますが、null 文字は、空のスペースとパディングを埋めるための制御文字として実装されているため、いくつかのプログラミング言語で重要です。

Cの関数とは何ですか?

C言語の関数は、特定の関数を含む一連のコードです。 構文で実装された場合、関数は特定の操作を実行することがわかっており、再利用して別の構文で同様の関数を実行できます。 関数は組み込みの場合もあれば、特定のタスクを実行するために定義する必要がある場合もあります。