Bildirim
char* strrchr(const char *str, int c);
Açıklama
Str parametresi ile gösterilen karakter dizisinde c parametresi ile gösterilen değerin (unsigned char olarak değerlendirilir) son geçtiği yeri arar ve bu bellek adresini gösteren bir işaretçi geri döndürür.
Eğer str parametresi sonu boş karakter olan bir karakter dizisini gösteren bir işaretçi değilse, anlamsız bir sonuç elde edilir.
Parametreler
str: Aramanın yapılacağı karkater dizisidir.
c: Aranacak olan değeri gösterir. Değer int olarak verilir ancak fonksiyon bu değeri unsigned char bir değere çevirerek arama işlemi yapar.
Dönüş değeri
Str parametre değeri ile gösterilen karakter dizisinde bulunan son c parametre değerinin bellek adresini gösteren bir işaretçi geri döndürülür. Değer bulunmazsa, NULL bir işaretçi geri döndürülür.
Örnek
#include <stdio.h>
#include <string.h>
int main(void)
{
const char cdizi[] = "Bilgisayar";
char cd = 'i';
char *ret;
ret = strrchr(cdizi, cd);
printf("Bulunan son %c karakterinden itibaren dizi içeriği: %s", cd, ret);
return 0;
}
Yukarıdaki örnekte, program aşağıdaki satırı ekrana yazar.
Bulunan son i karakterinden itibaren dizi içeriği: isayar
Program strrchr() fonksiyonu ile bir karakter dizisi içinde 'i' karakterinin bulunduğu son yeri arar. Karakterin bulunduğu yerden itibaren dizi içeriğini ekrana yazar.
Kaynak kodu
Copyright Public domain
char* strrchr(const char *str, int c)
{
char* ret=0;
do {
if(*str == (char)c)
ret=str;
} while(*str++);
return ret;
}