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

文字列ライブラリ関数をCの適切な例で説明する


文字列ライブラリ関数

文字列を処理するように設計された事前定義された関数は、ライブラリ「string.h」で使用できます。彼らは-

  • strlen()
  • strcmp()
  • strcpy()
  • strncmp()
  • strncpy()
  • strrev()
  • strcat()
  • strstr()
  • strncat()

strlen()関数

文字列の文字数を返します。

構文

int strlen (string name)

#include <string.h>
main (){
   char a[30] = “Hello”;
   int l;
   l = strlen (a);
   printf (“length of the string = %d”, l);
   getch ();
}

出力

length of the string = 5

strcpy()関数

  • ソース文字列を宛先文字列にコピーするためのものです。
  • 宛先文字列の長さ>=ソース文字列。

構文

strcpy (Destination string, Source String);

たとえば、

1) char a[50];
strcpy (“Hello”,a);
o/p: error
2) char a[50];
strcpy ( a,”hello”);
o/p: a= “Hello”

#include <string.h>
main (){
   char a[50], b[50];
   printf ("enter a source string");
   scanf("%s", a);
   printf("enter destination string");
   scanf("%s",b);
   strcpy ( b,a);
   printf ("copied string = %s",b);
   getch ();
}

出力

Enter a source string : Hello
Copied string = Hello

文字列ライブラリ関数をCの適切な例で説明する

strncpy()関数

  • ソース文字列の「n」文字を宛先文字列にコピーします。

  • 宛先文字列の長さは、ソース文字列の長さ以上である必要があります。

構文

strncpy (Destination string, Source String, n);

文字列ライブラリ関数をCの適切な例で説明する

#include<string.h>
main (){
   char a[50], b[50];
   printf ("enter a string");
   gets (a);
   gets(b);
   strncpy (b,a,3);// copy first 3 char from a string
   b[3] = '\0';
   printf ("copied string = %s",b);
   getch ();
}

出力

Enter a string : Hello
Copied string = Hel
It is also used for extracting substrings;

strcat()関数

  • 2つの文字列を組み合わせます。
  • 宛先文字列の長さは、ソース文字列よりも長くする必要があります。

構文

strcat (Destination String, Source string);

#include <string.h>
main(){
   char a[50] = "Hello";
   char b[20] = "Good Morning";
   clrscr ();
   strcat (a,b);
   printf("concatenated string = %s", a);
   getch ();
}

出力

Concatenated string = Hello Good Morning

strncat()関数

  • これは、ある文字列のn文字を別の文字列に結合または連結するために使用されます。

  • 宛先文字列の長さは、ソース文字列よりも長くする必要があります

  • 結果の連結文字列は、宛先文字列に含まれます。

構文

strncat (Destination String, Source string,n);

#include <string.h>
main (){
   char a [30] = "Hello";
   char b [20] = "Good Morning";
   clrscr ();
   strncat (a,b,4);
   a [9] = '\0';
   printf("concatenated string = %s", a);
   getch ();
}

出力

Concatenated string = Hello Good.

strcmp()関数(文字列比較)

  • この関数は2つの文字列を比較します。

  • 両方の文字列の最初の2つの一致しない文字のASCIIの違いを返します。

構文

int strcmp (string1, string2);
//If the difference is equal to zero, then string1 = string2
//If the difference is positive, then string1 > string2
//If the difference is negative, then string1 < string2

文字列ライブラリ関数をCの適切な例で説明する

文字列ライブラリ関数をCの適切な例で説明する

#include<stdio.h>
#include<string.h>
int main (){
   char a[50], b [50];
   int d;
   printf ("Enter 2 strings:");
   scanf ("%s %s", a,b);
   d = strcmp(a,b);
   if (d==0){
      printf("%s is (alphabetically) equal to %s", a,b);
   }else if (d>0){
      printf("%s is (alphabetically) greater than %s",a,b);
   }else if (d<0){
      printf("%s is (alphabetically) less than %s", a,b);
   }
}

出力

Enter 2 strings:apple ball
apple is (alphabetically) less than ball

strncmp()関数

この関数は、2つの文字列の最初の「n」文字を比較するために使用されます。

構文

strncmp ( string1, string2,2)

たとえば、char a [10] =“ the”;

char b [10] =“ there”

strncmp(a、b、4);

出力-両方の文字列が等しい

strrev()関数

  • この関数は、文字列を反転するために使用されます。
  • 反転した文字列は同じ文字列に格納されます。

構文

strrev (string)

#include<stdio.h>
main (){
   char a[50] ;
   clrscr();
   printf ("enter a string");
   gets (a);
   strrev (a);
   printf("reversed string = %s",a)
   getch ();
}

出力

enter a string Hello
reversed string = olleH

strstr()関数

  • これは、サブストリングがメインストリングに存在するかどうかを検索するために使用されます。

  • s1で最初に出現するs2へのポインタを返します。

構文

strstr(mainsring,substring);

#include<stdio.h>
void main(){
   char a[30],b[30];
   char *found;
   printf("Enter a string:\t");
   gets(a);
   printf("Enter the string to be searched for:\t");
   gets(b);
   found=strstr(a,b);
   if(found)
      printf("%s is found in %s in %d position",b,a,found-a);
   else
      printf("-1 since the string is not found");
   getch();
}

出力

Enter a string: how are you
Enter the string to be searched for: you
you is found in 8 position

  1. JavaScriptのfinallyステートメントを例を挙げて説明します。

    finallyステートメントは、エラーの有無に関係なく、tryandcatchブロックの後に常に実行されます。 以下は、JavaScriptのfinallyステートメントのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /&

  2. JavaScriptの非同期関数を例を挙げて説明する

    非同期関数はasyncキーワードで定義され、ES 2015で導入されました。これらの関数は、コールバックよりもconsicepromiseを記述するためのより良い方法を定義するために導入されました。 awaitキーワードは、非同期関数内で制御のフローを一時停止するために使用され、promiseを待機します。 以下はJavaScriptの非同期関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <me