C ++ strtok () - C ++ Standart Kitaplığı

C ++ 'daki strtok () işlevi, boş sonlandırılmış bir bayt dizesindeki sonraki simgeyi döndürür.

strtok () prototipi

 char * strtok (char * str, const char * delim);

strtok()Str ve delim: işlev iki argüman alır. Bu işlev, ile gösterilen dizedeki simgeyi bulur strtok. İşaretçi sınırı, ayırıcı karakterleri gösterir.

Bu işlev, aynı dizeden jetonlar elde etmek için birden çok kez çağrılabilir. İki durum var:

  • Eğer str NULL değilse:
    strtok () 'a yapılan bir çağrı bu dizge için ilk çağrı olarak kabul edilir. Fonksiyon, sınırlandırmada yer almayan ilk karakteri arar. Böyle bir karakter bulunmazsa, dize herhangi bir simge içermez. Böylece boş gösterici döndürülür. Böyle bir karakter bulunursa, oradan işlev sınırlamada bulunan bir karakteri arar. Ayırıcı bulunmazsa, str'nin yalnızca bir simgesi vardır. Bir ayırıcı bulunursa, ' 0' ile değiştirilir ve sonraki karaktere işaretçi sonraki çağrılar için statik bir konumda saklanır. Son olarak, işlev işaretçiyi belirtecin başına döndürür.
  • Eğer str NULL ise:
    Çağrı, strtok'a yapılan sonraki çağrılar olarak kabul edilir ve fonksiyon önceki çağrıda kaldığı yerden devam eder.

Başlık dosyasında "> başlık dosyasında tanımlanır.

strtok () Parametreler

  • str: İşaretlemek için boş sonlandırılmış bayt dizesinin işaretçisi.
  • delim: Ayırıcıları içeren boş sonlandırılmış bayt dizesinin işaretçisi.

strtok () Dönüş değeri

strtok()Orada herhangi biri ya da daha fazla simge bulunursa NULL dönerse fonksiyonu ise sonraki belirtecine işaretçiyi geri döndürmektedir.

Örnek: strtok () işlevi nasıl çalışır?

 #include #include using namespace std; int main() ( char str() = "parrot,owl,sparrow,pigeon,crow"; char delim() = ","; cout << "The tokens are:" << endl; char *token = strtok(str,delim); while (token) ( cout << token << endl; token = strtok(NULL,delim); ) return 0; )

Programı çalıştırdığınızda, çıktı:

 Belirteçler: papağan baykuş serçe güvercin karga

Ilginç makaleler...