Bildirim
size_t strspn(const char *str1, const char *str2);
Açıklama
Str1 parametresi ile gösterilen karakter dizisinde sadece str2 parametresi ile gösterilen karakter dizisinde yer alan karakterlerin bulunduğu ilk kısmın uzunluğunu geri döndürür. Arama işlemine sonlandırıcı boş karakterler ('\0') dahil edilmez.
Str1 veya str2 parametresi boş bir karakterle sonlandırılmış bir karakter dizisini gösteren bir işaretçi değilse, sonuç belirsiz olabilir.
Parametreler
str1: Arama yapılacak karakter dizisinin başlangıcını gösteren bir işaretçidir.
str2: Aranacak karakterleri içeren karakter dizisinin başlangıcını gösteren bir işaretçidir.
Dönüş değeri
Str1 parametresinin, str2 parametresi içinde olmayan karakterlerden oluşan, bölümünün uzunluğunu geri döndürür.
Eğer str1 parametresindeki karakterlerin tümü str2 parametresinde varsa, str1 parametresinin uzunluğu ve str1 parametresindeki ilk karakter str2 parametresinde yoksa sıfır değeri geri döndürülür.
Örnek
#include <stdio.h>
#include <string.h>
int main(void)
{
const char *cp1 = "Bilgisayar";
const char *cp2 = "Bilg";
int ret;
ret = strspn(cp1, cp2);
printf("cp2 dizisi içindeki karakterlerin cp1 dizisi içindeki sayısı: %d\n", ret);
return 0;
}
Yukarıdaki örnekte, program aşağıdaki satırı ekrana yazar.
cp2 dizisi içindeki karakterlerin cp1 dizisi içindeki sayısı: 5
Program strspn() fonksiyonu ile cp1 karakter dizisi içinde sadece cp2 parametresi ile gösterilen karakter dizisinde yer alan karakterlerin bulunduğu ilk kısmın uzunluğunu geri döndürerek ekrana yazar.
Kaynak kodu
Copyright Public domain
size_t strspn(const char *str1, const char *str2)
{
size_t ret=0;
while(*s1 && strchr(s2,*s1++))
ret++;
return ret;
}