C Programlamasında Dizeleri strpbrk() ile Nasıl Ayrıştırabilirim?

C Programlamasinda Dizeleri Strpbrk Ile Nasil Ayristirabilirim



Programlamadaki temel bir görev, dizeleri ayrıştırmaktır ve C programlama, bunu gerçekleştirmek için çeşitli işlevler sunar. bu strpbrk() işlevi, dizeleri ayrıştırmak için kullanılan işlevlerden biridir. Bu çok yönlü işlev, herhangi bir karakterin bir dize değişkeninde listelenen bir karakter dizisi içindeki ilk görünümünü aramak için kullanılabilir. Bu makale, C'de dizelerin nasıl ayrıştırılacağının ayrıntılı bir açıklamasını verecektir. strpbrk() işlev.

C Programlamasında Dizeleri strpbrk() ile Ayrıştırma

sözdizimi strpbrk() fonksiyon aşağıdaki gibidir:







karakter * strpbrk ( sabit karakter * str1, sabit karakter * str2 ) ;


İşlev iki bağımsız değişken gerektirir; str1 ve str2, sırasıyla aranacak metin ve aranacak karakter kümesi. Bu işlev str1'deki karakterin işaretçisini döndürür. Eşleşme yoksa işlev NULL döndürür.



Şimdi nasıl kullanılacağına dair bir örneğe bakalım. strpbrk() bir dizeyi ayrıştırmak için.



#include
#include

int ana ( ) {
karakter dizisi [ elli ] = 'Bu makale Linuxhint için yazılmıştır' ;
karakter * eşleşme = strpbrk ( sokak, 'Ö' ) ;
eğer ( kibrit ! = BOŞ ) {
printf ( ''o'nun ilk geçtiği yer %ld konumunda \N ' , maç - str ) ;
} başka {
printf ( 'Eşleşme bulunamadı. \N ' ) ;
}

geri dönmek 0 ;
}


Yukarıdaki kodda, str ve 'o', programa ilettiğimiz iki argümandır. strpbrk() işlev. İşlev, str dizesindeki 'o' harfinin ilk örneğini arar. İşlev, dizide eşleşmenin keşfedildiği konuma bir başvuru döndürür. Dizedeki eşleşmenin konumu daha sonra işaretçi aritmetiği kullanılarak belirlenir.





Çıktı


bu strpbrk() işlevi, bir dizeyi birden çok karakter için ayrıştırmak için de kullanılabilir. Örneğin:



#include
#include

int ana ( ) {
karakter dizisi [ elli ] = 'Bu makale Linuxhint için yazılmıştır' ;
karakter * eşleşme = strpbrk ( sokak, 'A borçlusun' ) ;
eğer ( kibrit ! = BOŞ ) {
printf ( 'Sesli harflerden herhangi birinin ilk geçtiği yer %ld konumundadır. \N ' , maç - str ) ;
} başka {
printf ( 'Eşleşme bulunamadı. \N ' ) ;
}

geri dönmek 0 ;
}


Bu durumda işlev, dizedeki herhangi bir sesli harfin ilk geçtiği yeri arar. Bir eşleşme bulunursa, işlev, dizgede eşleşmenin bulunduğu konuma bir işaretçi döndürür.

Çıktı


Bunu akılda tutmak önemlidir strpbrk() dizeyi soldan sağa taradığı için kümedeki karakterlerin ilk örneğini arar. Bir dizgedeki bir karakterin son örneğini bulmak istiyorsanız, strrchr() işlev.

Çözüm

C programlamasında, strpbrk() işlevi, dizeleri ayrıştırmak için kullanışlı bir işlevdir. İlk kez göründüğü her dizede bir karakter kümesindeki herhangi bir karakteri aramanıza olanak tanır. Bu fonksiyonun sözdizimini ve kullanımını kavrayarak daha etkili ve verimli programlar oluşturabilirsiniz.