08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

strrchr İşlevi<br />

Standart olan bu işlev strchr işlevi gibi bir yazının içinde bir karakteri arar. Arama yazının<br />

sonundan başlanarak yapılır. Yani "ankara" yazısı içinde 'n' karakteri arandığında işlev<br />

yazının son karakterinin adresini döndürür. İşlevin string.h başlık dosyası içindeki<br />

bildirimi aşağıdaki gibidir:<br />

char *strrchr(const char *str, int ch);<br />

İşlev, str adresindeki yazı içinde bulunabilecek son ch karakterinin adresini döndürür.<br />

Eğer yazının içinde ch karakteri yoksa işlevin geri dönüş değeri NULL adresidir. İşlev ile<br />

yazının sonundaki sonlandırıcı karakter de aranabilir.<br />

#include <br />

char *mstrrchr(const char *str, int ch)<br />

{<br />

const char *p = str;<br />

const char *pf = NULL;<br />

while (*p) {<br />

if (*p == ch)<br />

pf = p;<br />

p++;<br />

}<br />

if (ch == '\0')<br />

return (char *)p;<br />

}<br />

return (char *)pf;<br />

int main()<br />

{<br />

char s[100];<br />

char *ptr;<br />

int ch;<br />

printf("bir yazi girin : ");<br />

gets(s);<br />

printf("aranacak karakteri girin: ");<br />

ch = getchar();<br />

ptr = mstrrchr(s, ch);<br />

if (ptr == NULL)<br />

printf("(%s) yazısında (%c) bulunamadı!\n", s, ch);<br />

else<br />

printf("bulundu: (%s)\n", ptr);<br />

}<br />

return 0;<br />

strstr İşlevi<br />

İşlevin ismi string string sözcüklerinden gelir. Bu işlevle bir yazı içinde başka bir yazı<br />

aranır. İşlevin bildirimi aşağıdaki gibidir:<br />

char *strstr(const char *p1, const char *p2);<br />

Eğer p1 adresindeki yazı içinde p2 adresindeki yazı varsa, işlev yazının bulunduğu yerin<br />

adresini döndürür. Eğer yoksa işlevin geri dönüş değeri NULL adresidir. Aşağıdaki<br />

programı derleyerek çalıştırın:<br />

267

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!