Strcasecmp -funksjon i C

Strcasecmp -funksjon i C

StrcaseCMP -funksjonene tillater sammenligning mellom de to strengene. Denne tilfellet sammenligningsfunksjon er ikke følsom for verken små bokstaver eller store bokstaver eller alfabetene i strengene, siden denne funksjonen først konverterer begge strengens tegn til små bokstaver og deretter sammenligner dem. Sammenligningen gjøres alltid mellom de strengene som avsluttes med noe nullkarakter, e.g. “/0”. StrcaseCMP begynner å sammenligne de to forskjellige strengene med den første karakteren i begge strengene. Denne sammenligningen avsluttes med en nullkarakter som indikerer at strengen er avsluttet. Denne funksjonen returnerer noen verdier som avkastningsverdi etter sammenligningen. Disse returverdiene er representert som mindre enn null, noe som betyr at den første strengen er mindre enn den andre. Lik “0” eller “0” viser at begge strengene er like og mer enn null, noe som betyr at den første strengen er mer/ større enn den andre.

Fremgangsmåte

Vi vil snakke om metodene for å sammenligne de to forskjellige strengene i forskjellige størrelser ved bruk av StrCaseCMP () -metoden. Vi vil utforske erklæringsmetoden for denne funksjonen og lære hvor vi kan benytte oss av denne funksjonen. For å bli praktisk med denne funksjonen, vil vi løse noen eksempler som bruker String Case Comparison-metoden.

Syntaks

Metoden for erklæringen av strcaseCMP () innebærer bruk av pekere som peker mot de to strengene som vi ønsker å sammenligne med hverandre. Vi definerer først returtypen for denne funksjonen som er "heltall". Deretter kaller vi funksjonen “strcasecmp” og definerer dens parametere som pekere for begge strengene. Denne erklæringen er representert i neste linje som følger:

$ Int strcasecmp (char * string_1, char * str_2)

Eksempel 1

Dette eksemplet bruker den tidligere nevnte forklaringen av StrCaseCMP () -funksjonen for å sammenligne strengene. Til å begynne med sammenligningsmetoden, utfører vi eksemplet i C i Microsoft Visual Studio Compiler. Vårt første trinn ville være å lage et nytt prosjekt for C. Og så inkluderer vi de nødvendige bibliotekene fra C Fundamentals for å enten lese eller skrive innspill og utganger i programmet. Siden vi har å gjøre med strengene i denne artikkelen, importerer vi også overskriftsfilen som lar oss bruke strengrelaterte funksjoner i programmet. Vi importerer bare to av overskriften “.H ”-filer som følger kommandoene:

$ # inkluderer
$ # inkluderer

Etter eksemplet med dette trinnet begynner vi nå med å lage programmet for StrCaseCMP () -funksjonen. For å gjøre dette, erklærer vi de to strengene med datatypen som "røye". Vi kan nevne disse strengene “String_1” og “String_2”. Vi initialiserer disse strengene med noen tilfeldige verdier som "stoler" til String_1 og "stoler" til String_2. Etter denne tildelingen av verdiene til strengene, definerer vi pekerne for begge disse strengene med datatypen “Char” og initialiserer en variabel som “Sammenlign resultat” som har datatypen “Integer”.

Til denne variabelen tilordner vi StrCaseCMP () -funksjonen som har String_1 og String_2 som inngangsargumenter. Deretter antyder vi "hvis annet" -forhold til dette resultatvariabelen, at hvis resultatet er lik "0", skriv ut "strenger er like". Hvis resultatet er "mindre enn 0", vis "String_1 er mindre enn String_2" eller "String_1 er større enn String_2" og returner verdien lik 0 til hovedfunksjonen. Vi prøver å skrive om forklaringen som vi nevnte for eksempel nummer 1 i form av programmet ved å bruke C-språket i følgende figur:

#inkludere
#inkludere
Int Main (Void)
char* string_1 = "stoler";
char* string_2 = "stoler";
int compare_result;
sammenligne_result = strcasecmp (string_1, string_2);
if (sammenlign_result == 0)
printf ("like strenger.\ n ");
ellers hvis (sammenlign_result < 0)
printf (""%s "streng1 er mindre enn streng2"%s ".\ n ", String_1, String_2);
ellers
printf (""%s "streng1 er større enn streng2"%s ".\ n ", String_1, String_2);
retur 0;

Resultatene av sammenligningen som vi gjorde for begge strengene 1 og 2 kom ut. Utgang viser at strengene er like, noe som er riktig estimering som strengene vi sammenlignet var de samme.

Eksempel 2

I det andre eksemplet utfører vi en kode for sammenligning av de to strengene som vi tar verdiene for, fra brukeren, noe som betyr at vi tar verdiene til to strenger fra brukeren og skriver ut resultatet av sammenligningen. Vi importerer overskriftsfilene for strengfunksjonene og utdata -skjermen og inngangslesingen som "String. H ”og“ Stdio. H ”, henholdsvis. For å begynne å kode, erklærer vi strengene (to) som har datastørrelsen som “50” og datatypen “Char”.

For å initialisere disse strengene, tar vi inngangen fra brukeren ved å kalle “scanf ()” -metoden og passere formatspesifikasjonen “%s” og navnet på strengene. Vi lagrer sammenligningsresultatet av både brukerdefinerte strenger i en variabel "sammenlign_result" og pålegger en "hvis uttalelse" om at hvis resultatet er lik null, er "strengene like". Ellers er de "ikke like". Hvis uttalelsen er sant, skriver vi ut “like strenger”. I tilfelle uttalelsen blir galt, skriver programmet ut "ikke lik". Programmet går deretter ut av hovedfunksjonen ved å returnere null som returverdi. Vi festet et følgende kodebit for implementering av dette eksemplet:

#inkludere
#inkludere
Int Main (Void)

Char String_1 [50];
Char String_2 [50];
printf ("Enter String_1");
SCANF ("%S", String_1);
printf ("Enter String_2");
SCANF ("%S", String_2);
int compare_result;
sammenligne_result = strcasecmp (string_1, string_2);
if (sammenlign_result == 0)
printf ("like strenger");
ellers
printf ("ikke lik");
retur 0;

De to brukerdefinerte strengene var henholdsvis "stoler" og "bord". Resultatet av sammenligningen ble "ikke like", noe som er riktig da de to strengene som ble sammenlignet i programmet ikke var like. Vi kan også anvende betingelsene for det større enn og mindre enn for et sammenligningsresultat.

Konklusjon

Bruken av strengens sammenligningsfunksjon er veldig vanlig i nesten alle applikasjoner som er skrevet på ethvert programmeringsspråk. Vi diskuterte bruken av StrCaseCMP () -funksjonen i denne artikkelen for C -språket. Denne sammenligningsfunksjonen tar sammenligningen mellom de to strengene, og denne funksjonen er ufølsom for små bokstaver og store bokstaver. Vi implementerte denne streng-sammenligningsfunksjonen for både strengene som ble definert i programmet og de brukerdefinerte strengene ved å kalle SCANF () -metoden.