C ++ strtok () - Perpustakaan Standard C ++

Fungsi strtok () dalam C ++ mengembalikan token seterusnya dalam rentetan bait yang ditamatkan.

prototaip strtok ()

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

Yang strtok()mengambil dua hujah: str dan delim. Fungsi ini mencari token dalam rentetan yang ditunjukkan oleh strtok. Delim penunjuk menunjukkan watak pemisah.

Fungsi ini dapat dipanggil berkali-kali untuk mendapatkan token dari rentetan yang sama. Terdapat dua kes:

  • Sekiranya str tidak NULL:
    Panggilan ke strtok () dianggap panggilan pertama untuk rentetan itu. Fungsi mencari watak pertama yang tidak terdapat dalam delim. Sekiranya tiada watak seperti itu dijumpai, rentetan itu tidak mengandungi token. Jadi penunjuk kosong dikembalikan. Sekiranya watak seperti itu dijumpai, dari situ fungsi mencari watak yang terdapat dalam delim. Sekiranya tiada pemisah, str hanya mempunyai satu token. Sekiranya pemisah dijumpai, ia diganti dengan ' 0' dan penunjuk ke watak berikut disimpan di lokasi statik untuk pemanggilan berikutnya. Akhirnya, fungsi mengembalikan penunjuk ke permulaan token.
  • Sekiranya str adalah NULL:
    Panggilan dianggap sebagai panggilan seterusnya ke strtok dan fungsinya berterusan dari tempat ia ditinggalkan dalam permintaan sebelumnya.

Ia ditakrifkan dalam header file "> header file.

strtok () Parameter

  • str: Penunjuk ke rentetan bait yang dihentikan nol untuk menandakan.
  • delim: Penunjuk ke rentetan bait yang dihentikan nol yang mengandungi pemisah.

strtok () Nilai pulangan

Yang strtok()mengembalikan penunjuk kepada cara yang akan datang jika terdapat apa-apa, atau ia kembali NULL jika tidak lebih tokens dijumpai.

Contoh: Bagaimana fungsi strtok () berfungsi

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

Semasa anda menjalankan program, outputnya adalah:

 Tokennya adalah: burung hantu burung hantu burung pipit burung merpati

Artikel menarik...