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.