Strings parseren met strpbrk() in C-programmering?

Strings Parseren Met Strpbrk In C Programmering



Een fundamentele taak bij het programmeren is het ontleden van tekenreeksen, en C-programmeren biedt verschillende functies om dit te bereiken. De strpbrk() functie is een van de functies die wordt gebruikt om tekenreeksen te ontleden. Deze veelzijdige functie kan worden gebruikt om te zoeken naar de eerste verschijning van elk teken binnen een reeks tekens die worden vermeld in een tekenreeksvariabele. Dit artikel geeft een grondige beschrijving van het ontleden van strings in C met behulp van de strpbrk() functie.

Strings parseren met strpbrk() in C-programmering

De syntaxis van de strpbrk() functie is als volgt:







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


De functie vereist twee argumenten; str1 en str2, respectievelijk de tekst waarnaar moet worden gezocht en de reeks tekens waarnaar moet worden gezocht. Deze functie retourneert de aanwijzer van het teken in str1. De functie retourneert NULL als er geen overeenkomst is.



Laten we nu eens kijken naar een voorbeeld van hoe te gebruiken strpbrk() een string ontleden.



#include
#include

int hoofd ( ) {
char str [ vijftig ] = 'Dit artikel is geschreven voor Linuxhint' ;
char * wedstrijd = strpbrk ( str, 'O' ) ;
als ( overeenkomst ! = NUL ) {
printf ( 'De eerste keer dat 'o' voorkomt is op positie %ld \N ' , wedstrijd - str ) ;
} anders {
printf ( 'Geen overeenkomst gevonden. \N ' ) ;
}

opbrengst 0 ;
}


In de bovenstaande code zijn str en 'o' de twee argumenten die we doorgeven aan de strpbrk() functie. De functie zoekt naar de eerste instantie van de letter 'o' in de tekenreeks str. De functie retourneert een verwijzing naar de locatie in de tekenreeks waar de overeenkomst is ontdekt. De positie van de match in de string wordt dan bepaald met behulp van pointer-rekenkunde.





Uitgang


De strpbrk() functie kan ook worden gebruikt om een ​​string voor meerdere tekens te ontleden. Bijvoorbeeld:



#include
#include

int hoofd ( ) {
char str [ vijftig ] = 'Dit artikel is geschreven voor Linuxhint' ;
char * wedstrijd = strpbrk ( str, 'je bent schuldig' ) ;
als ( overeenkomst ! = NUL ) {
printf ( 'Het eerste voorkomen van een van de klinkers is op positie %ld \N ' , wedstrijd - str ) ;
} anders {
printf ( 'Geen overeenkomst gevonden. \N ' ) ;
}

opbrengst 0 ;
}


In dit geval zoekt de functie naar de eerste keer dat een klinker in de string voorkomt. Als er een overeenkomst is gevonden, retourneert de functie een aanwijzer naar de positie in de tekenreeks waar de overeenkomst is gevonden.

Uitgang


Het is belangrijk om dat in gedachten te houden strpbrk() zoekt naar de eerste instantie van de tekens in de set omdat de tekenreeks van links naar rechts wordt gescand. Als u de laatste instantie van een teken in een tekenreeks wilt vinden, kunt u de strrr() functie.

Conclusie

Bij C-programmering is de strpbrk() functie is een handige functie voor het ontleden van tekenreeksen. Hiermee kunt u zoeken naar elk teken in een reeks tekens in elke tekenreeks waar het voor het eerst voorkomt. U kunt programma's maken die effectiever en efficiënter zijn door de syntaxis te begrijpen en deze functie te gebruiken.