String Arama Fonksiyonlari
Bu bolumumuzde karakterler ve diger stringler icin string aramada kullanilan string kutuphanesinin fonksiyonlari uzerinde duracagiz.Fonksiyonlar assagida ozellikleri ile birlikte yer almaktadir.Not: srtcspn ve strspn fonksiyonlarinin geri donus deger turu size_t dir.
FONKSIYON
|
TANIMLAMA
|
char *strchr(const char *s, int c) |
c karakterinin ilk olusumunu string s icine yerlestirir.Eger c bulundu ise, s de c ye bir pointer geri doner.Yoksa, bir NULL pointer geri doner.
|
size_t strcspn(char *s1, const char *s2) |
s2 de olmayan karakterleri iceren s1 stringinin baslangic uzunlugunu belirler ve uzunluguna doner. |
size_t strspn(const char *s1, const char *s2)
|
sadece s2 de olan karakterleri iceren s1 stringinin uzunlugunu belirler ve doner. |
char *strrchr(const char *s, int c) |
c nin en son olusumunu s stringe yerlestirir.Eger c bulundu ise, s stringde c ye bir pointer geri doner.Yoksa, bir NULL pointer geri doner. |
char *strtok(char *s1, const char *s2) |
strtok a takipci cagirimlar s1 stringini simgelere(makalenin bir satirinda ki kelimeler vb) kirar.
|
Fonksiyon strchr bir stringde ki bir karakterin ilk olusumunu arastirir.Eger karakter bulunursa, strchr bir string icinde bir karaktere pointer a geri doner.Karakter bulunmadi ise, strchr NULL a geri doner.Bu fonksiyon ile ilgili yazacagimiz program strchr fonksiyonunu "Bu bir testir" adinda ki string icinde ki 'a' ve 'z' nin ilk olusumunu aramak icin kullanilacaktir.
Simdi bu string kutuphanesinin arama fonksiyonlari ile ilgili ayri ayri programlara yazip kullanislarini daha iyi anlamaya calisalim.
/*strchr kullanimi */
#include <stdio.h>
#include <string.h>
main()
{
char *string = "Bu bir testir";
char karakter = 'a', karakter2 = 'z';
if(strchr(string, karakter) != NULL)
{
printf("\ ' %c\'
\"%s" icinde bulundu.\n",
karakter, string);
}
else
printf("\ ' %c\'
\"%s" icinde bulunamadi.\n", karakter, string);
if(strchr(string, karakter2) != NULL)
{
printf("\ '%c\' \"%s\" icinde
bulundu.\n", karakter2, string);
}
else
printf("\ '%c\'
\"%s\" icinde bulunamadi.\n", karakter2, string);
return 0;
}
Programin Ciktisi:
'a' "Bu bir testir" icinde bulundu.
'z' "Bu bir testir" icinde bulunamadi. |
|