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> > strlen

strlen() fonksiyonu

Bildirim

size_t strlen(const char *str);

size_t strlen_s(const char *str, size_t strsz); (C11)

Açıklama

Str parametresi ile gösterilen ve boş bir karakter ('\0') ile sonlandırılmış karakter dizisinin uzunluğunu, dizi sonundaki boş karakter hariç olmak üzere, hesaplar.

strlen_s() fonksiyonu ayrıca, eğer str parametresi NULL bir işaretçi ise 0 değeri ve str parametresinin ilk strsz kadar byte'ında strsz değerini geri döndürür.

Eğer str parametresi boş bir karakter içermiyorsa ve karakter dizisinin boyutu strsz parametre değerinden küçük ise, sonuç belirsiz olur.

Parametreler

str: İşlem yapılacak olan boş bir karakter ('\0') ile sonlandırılmış bir karakter dizisidir.

strsz: İşlem yapılacak maksimum karakter sayısıdır.

Dönüş değeri

Dönüş değeri;

Strlen() fonksiyonu str parametresindeki karakter dizisinin uzunluğunu geri döndürür.

Strlen_s() fonksiyonu başarı durumunda str parametresindeki karakter dizisinin uzunluğunu, str parametresi NULL bir işaretçi ise sıfır değerini ve boş bir karakter ('\0') bulunamazsa strsz değerini geri döndürür.

Örnek


#include <stdio.h>
#include <string.h>

int main(void)
{
    const char *cp = "Bilgisayar";
    int ret;

    ret = strlen(cp);

    printf("%s karakter dizisinin uzunluğu: %d\n", cp, ret);

    return 0;
}


Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar.

Bilgisayar karakter dizisinin uzunluğu: 10

Program strlen() fonksiyonu ile bir karakter dizisinin uzunluğunu elde ederek, elde ettiği değeri ekrana yazar.

Kaynak kodu

Copyright Public domain


// İşaretçi yoluyla
size_t strlen(const char *str)
{
  const char *p = str;

  while(*str) ++str;

  return str - p;
}

// İşaretçi endeksleme yoluyla
size_t strlen(const char *str) {
  size_t id;
  
  for (id=0; str[id] != '\0'; id++);
  
  return id;
}