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’ ,‘\0’}
- 文字列定数の使用-
char string[10] = "Hello":;
アクセス −「\0」に遭遇するまで文字列にアクセスするために使用される制御文字列「%s」があります。
strcmp()関数
-
この関数は2つの文字列を比較します。
-
両方の文字列の最初の2つの一致しない文字のASCIIの違いを返します。
文字列の比較
構文は次のとおりです-
int strcmp (string1, string2);
差がゼロに等しい場合------string1=string2
差が正の場合-------string1>string2
差が負の場合-------string1
サンプルプログラム
次のプログラムは、strcmp()関数の使用法を示しています-
#include<stdio.h> main ( ){ char a[50], b [50]; int d; printf ("enter 2 strings:\n"); scanf ("%s %s", a,b); d = strcmp (a,b); if (d==0) printf("%s is equal to %s", a,b); else if (d>0) printf("%s is greater than %s",a,b); else if (d<0) printf("%s is less than %s", a,b); }
出力
上記のプログラムを実行すると、次の結果が得られます-
enter 2 strings: bhanu priya bhanu is less than priya
strcmp()の別の例を見てみましょう。
以下に、strcmpライブラリ関数を使用して2つの文字列を比較するCプログラムを示します-
例
#include<stdio.h> #include<string.h> void main(){ //Declaring two strings// char string1[25],string2[25]; int value; //Reading string 1 and String 2// printf("Enter String 1: "); gets(string1); printf("Enter String 2: "); gets(string2); //Comparing using library function// value = strcmp(string1,string2); //If conditions// if(value==0){ printf("%s is same as %s",string1,string2); } else if(value>0){ printf("%s is greater than %s",string1,string2); } else{ printf("%s is less than %s",string1,string2); } }
出力
上記のプログラムを実行すると、次の結果が得られます-
Enter String 1: Tutorials Enter String 2: Point Tutorials is greater than Point
-
C言語のstrncpy()関数とは何ですか?
Cライブラリ関数char* strncpy(char * dest、const char * src、size_t n) src が指す文字列から、最大n文字をコピーします 宛先へ 。 srcの長さがnの長さよりも短い場合、destの残りの部分はnullバイトで埋められます。 文字の配列は文字列と呼ばれます。 宣言 以下は配列の宣言です- char stringname [size]; 例-charstring[50];長さ50文字の文字列 初期化 単一文字定数の使用- char string[10] = { ‘H’, ‘e’, &l
-
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’}