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

C ++ 'daki wcstok () işlevi, boş sonlandırılmış bir geniş dizede sonraki simgeyi döndürür.

Wcstok () işlevi başlık dosyasında tanımlanmıştır.

wcstok () prototipi

 wchar_t * wcstok (wchar_t * str, const wchar_t * sınırlayıcı, wchar_t ** ptr);

Wcstok () işlevi üç argüman alır: str, delim ve ptr. Bu işlev geniş dizgede dizge ile gösterilen dizgeyi bulur. İşaretçi sınırı, ayırıcı karakterleri gösterir.

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

  1. Str NULL değilse:
    wcstok () 'a yapılan bir çağrı bu geniş dizge için ilk çağrı olarak kabul edilir. Fonksiyon, sınırlandırmada yer almayan ilk geniş karakteri arar. Böyle bir geniş karakter bulunmazsa, geniş dize herhangi bir simge içermez. Böylece boş gösterici döndürülür.
    Bu kadar geniş bir karakter bulunursa, oradan işlev sınırlandırmada mevcut olan geniş bir karakteri arar. Ayırıcı bulunmazsa, str'nin yalnızca bir simgesi vardır. Bir ayırıcı bulunursa, L ' 0' ile değiştirilir ve aşağıdaki karakterin göstericisi * ptr'de saklanır. Son olarak, işlev işaretçiyi belirtecin başına döndürür.
  2. Eğer str NULL ise:
    Çağrı, wcstok'a yapılan sonraki çağrılar olarak kabul edilir ve fonksiyon önceki çağrıda kaldığı yerden aynı * ptr ile devam eder.

wcstok () Parametreler

  • str: İşaretlemek için boş sonlandırılmış geniş dizge işaretçisi.
  • delim: Ayırıcıları içeren boş sonlandırılmış geniş dizge işaretçisi.
  • ptr: wcstok tarafından dahili durumunu saklamak için kullanılan geniş bir karaktere işaretçi.

wcstok () Dönüş değeri

  • Wcstok () işlevi, eğer varsa, göstericiyi bir sonraki dizgecin başına döndürür.
  • Daha fazla simge bulunmazsa NULL döndürür.

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

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t str() = L"parrot,owl,sparrow,pigeon,crow"; wchar_t delim() = L"u002c";// unicode for comma wchar_t *ptr; wcout << L"The tokens are:" << endl; wchar_t *token = wcstok(str,delim,&ptr); while (token) ( wcout << token << endl; token = wcstok(NULL,delim,&ptr); ) return 0; )

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

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

Ilginç makaleler...