Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
C Programlama

BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <string.h> > strspn

strspn() fonksiyonu

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;
}