C ++ strtok () - C ++ Standard Library

Fungsi strtok () di C ++ mengembalikan token berikutnya dalam string byte yang diakhiri dengan null.

strtok () prototipe

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

The strtok()Fungsi membutuhkan dua argumen: str dan delim. Fungsi ini menemukan token dalam string yang ditunjuk oleh strtok. Pembatas penunjuk menunjuk ke karakter pemisah.

Fungsi ini bisa dipanggil berkali-kali untuk mendapatkan token dari string yang sama. Ada dua kasus:

  • Jika str bukan NULL:
    Panggilan ke strtok () dianggap panggilan pertama untuk string itu. Fungsi mencari karakter pertama yang tidak terdapat dalam pembatas. Jika tidak ada karakter seperti itu yang ditemukan, string tersebut tidak mengandung token apa pun. Jadi pointer nol dikembalikan. Jika karakter seperti itu ditemukan, dari situ fungsi mencari karakter yang ada di pembatas. Jika pemisah tidak ditemukan, str hanya memiliki satu token. Jika pemisah ditemukan, itu akan diganti dengan ' 0' dan penunjuk ke karakter berikut disimpan di lokasi statis untuk pemanggilan berikutnya. Terakhir, fungsi mengembalikan penunjuk ke awal token.
  • Jika str adalah NULL:
    Panggilan ini dianggap sebagai panggilan berikutnya ke strtok dan fungsi berlanjut dari tempat ia meninggalkan pemanggilan sebelumnya.

Ini didefinisikan dalam file header "> file header.

Parameter strtok ()

  • str: Pointer ke string byte diakhiri null untuk membuat token.
  • delim: Pointer ke string byte diakhiri null yang berisi pemisah.

strtok () Nilai kembali

The strtok()mengembalikan fungsi pointer ke token berikutnya jika ada, atau ia mengembalikan NULL jika tidak lebih token ditemukan.

Contoh: Bagaimana fungsi strtok () bekerja

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

Saat Anda menjalankan program, hasilnya adalah:

 Tokennya adalah: burung beo burung hantu burung pipit burung merpati gagak

Artikel yang menarik...