Hvordan analyseres strenge med strpbrk() i C-programmering?

Hvordan Analyseres Strenge Med Strpbrk I C Programmering



En grundlæggende opgave i programmering er at parse strenge, og C-programmering tilbyder flere funktioner til at opnå dette. Det strpbrk() funktion er en af ​​de funktioner, der bruges til at parse strenge. Denne alsidige funktion kan bruges til at lede efter et hvilket som helst tegns første optræden i en sekvens af tegn, der er angivet i en strengvariabel. Denne artikel vil give en grundig beskrivelse af, hvordan man parser strenge i C ved hjælp af strpbrk() fungere.

Sådan parses strenge med strpbrk() i C-programmering

Syntaksen for strpbrk() funktion er som følger:







char * strpbrk ( konst char * str1, const char * str2 ) ;


Funktionen kræver to argumenter; str1 og str2, henholdsvis den tekst, der skal søges efter, og det sæt af tegn, der skal ledes efter. Denne funktion returnerer tegnets pointer i str1. Funktionen returnerer NULL, hvis der ikke er et match.



Lad os nu se på et eksempel på, hvordan man bruger strpbrk() at parse en streng.



#include
#include

int main ( ) {
char str [ halvtreds ] = 'Denne artikel er skrevet til Linuxhint' ;
char * match = strpbrk ( str, 'O' ) ;
hvis ( match ! = NULL ) {
printf ( 'Den første forekomst af 'o' er ved position %ld \n ' , match - str ) ;
} andet {
printf ( 'Ingen match fundet. \n ' ) ;
}

Vend tilbage 0 ;
}


I ovenstående kode er str og 'o' de to argumenter, vi sender til strpbrk() fungere. Funktionen leder efter den første forekomst af bogstavet 'o' i strengen str. Funktionen returnerer en reference til det sted i strengen, hvor matchet blev opdaget. Matchens position i strengen bestemmes derefter ved hjælp af pointer-aritmetik.





Produktion


Det strpbrk() funktion kan også bruges til at parse en streng for flere tegn. For eksempel:



#include
#include

int main ( ) {
char str [ halvtreds ] = 'Denne artikel er skrevet til Linuxhint' ;
char * match = strpbrk ( str, 'du skylder' ) ;
hvis ( match ! = NULL ) {
printf ( 'Den første forekomst af nogen af ​​vokalerne er ved position %ld \n ' , match - str ) ;
} andet {
printf ( 'Ingen match fundet. \n ' ) ;
}

Vend tilbage 0 ;
}


I dette tilfælde søger funktionen efter den første forekomst af enhver vokal i strengen. Hvis der findes et match, returnerer funktionen en pointer til den position i strengen, hvor matchen blev fundet.

Produktion


Det er vigtigt at huske på strpbrk() søger efter den første forekomst af tegnene i sættet, fordi den scanner strengen fra venstre mod højre. Hvis du vil finde den sidste forekomst af et tegn i en streng, kan du bruge strrchr() fungere.

Konklusion

I C-programmering er strpbrk() funktion er en nyttig funktion til at analysere strenge. Det giver dig mulighed for at lede efter ethvert tegn i et sæt tegn i hver streng, hvor det vises for første gang. Du kan oprette programmer, der er mere effektive og effektive ved at forstå syntaksen og brugen af ​​denne funktion.