C ++ wcstok () - C ++ Standardbibliotek

Funksjonen wcstok () i C ++ returnerer neste token i en null avsluttet bred streng.

Funksjonen wcstok () er definert i topptekstfilen.

wcstok () prototype

 wchar_t * wcstok (wchar_t * str, const wchar_t * avgrense, wchar_t ** ptr);

Funksjonen wcstok () tar tre argumenter: str, avgrensning og ptr. Denne funksjonen finner symbolet i den brede strengen som str. Peker på. Pekeren avgrenser peker på skilletegnene.

Denne funksjonen kan kalles flere ganger for å skaffe tokens fra samme brede streng. Det er to tilfeller:

  1. Hvis str ikke er NULL:
    Et anrop til wcstok () regnes som første anrop for den brede strengen. Funksjonen søker etter det første brede tegnet som ikke er inkludert i delim. Hvis det ikke finnes et så bredt tegn, inneholder den brede strengen ikke noe token. Så en nullpeker returneres.
    Hvis en så bred karakter blir funnet, søker funksjonen derfra etter et bredt tegn som er tilstede i avgrensning. Hvis det ikke finnes noen skilletegn, har str bare ett token. Hvis en separator blir funnet, erstattes den av L ' 0', og pekeren til følgende tegn lagres i * ptr. Til slutt returnerer funksjonen pekeren til begynnelsen av tokenet.
  2. Hvis str er NULL:
    Anropet betraktes som påfølgende anrop til wcstok, og funksjonen fortsetter fra der den gikk i forrige påkallelse med samme * ptr.

wcstok () Parametere

  • str: peker til null avsluttet bred streng for å tokenize.
  • avgrensning: peker til null avsluttet bred streng som inneholder skilletegnene.
  • ptr: Peker til en peker til et bredt tegn som brukes av wcstok til å lagre sin interne tilstand.

wcstok () Returverdi

  • Funksjonen wcstok () returnerer pekeren til begynnelsen av neste token hvis det er noen
  • Den returnerer NULL hvis ikke flere tokens blir funnet.

Eksempel: Hvordan fungerer wcstok () -funksjonen?

 #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; )

Når du kjører programmet, vil utdataene være:

 Tokene er: papegøyeugle spurvdue kråke

Interessante artikler...