C ++ wcstok () - C ++ Standardbibliotek

Funktionen wcstok () i C ++ returnerar nästa token i en null-avslutad bred sträng.

Funktionen wcstok () definieras i rubrikfilen.

wcstok () prototyp

 wchar_t * wcstok (wchar_t * str, const wchar_t * avgränsning, wchar_t ** ptr);

Funktionen wcstok () tar tre argument: str, avgränsning och ptr. Den här funktionen hittar symbolen i den breda strängen som str. Pekarens avgränsning pekar på avskiljartecknen.

Denna funktion kan anropas flera gånger för att få tokens från samma breda sträng. Det finns två fall:

  1. Om str inte är NULL:
    Ett samtal till wcstok () anses vara det första anropet för den breda strängen. Funktionen söker efter det första breda tecknet som inte ingår i avgränsningen. Om ingen sådan bred karaktär hittas innehåller den breda strängen ingen symbol. Så en nullpekare returneras.
    Om en sådan bred karaktär hittas söker funktionen därifrån efter en bred karaktär som finns i avgränsning. Om ingen separator hittas har str bara en token. Om en separator hittas ersätts den med L ' 0' och pekaren till följande tecken sparas i * ptr. Slutligen returnerar funktionen pekaren till början av token.
  2. Om str är NULL:
    Samtalet betraktas som efterföljande samtal till wcstok och funktionen fortsätter från där den lämnade i tidigare anrop med samma * ptr.

wcstok () Parametrar

  • str: pekaren till null avslutad bred sträng för att tokenize.
  • avgränsning: pekare till den null-avslutade bredsträngen som innehåller separatorerna.
  • ptr: Pekare till en pekare till ett brett tecken som används av wcstok för att lagra dess interna tillstånd.

wcstok () Returvärde

  • Funktionen wcstok () returnerar pekaren till början av nästa token om det finns någon
  • Det returnerar NULL om inga fler tokens hittas.

Exempel: Hur fungerar wcstok () -funktionen?

 #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 kör programmet blir resultatet:

 Märkena är: papegojauglsparvduvkråka

Intressanta artiklar...