C ++ wcstok () - Perpustakaan Standard C ++

Fungsi wcstok () dalam C ++ mengembalikan token seterusnya dalam rentetan lebar yang kosong.

Fungsi wcstok () ditentukan dalam fail header.

prototaip wcstok ()

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

Fungsi wcstok () mengambil tiga argumen: str, delim dan ptr. Fungsi ini mencari token dalam tali lebar yang ditunjukkan oleh str. Delim penunjuk menunjukkan watak pemisah.

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

  1. Sekiranya str tidak NULL:
    Panggilan ke wcstok () dianggap panggilan pertama untuk rentetan lebar itu. Fungsi mencari watak lebar pertama yang tidak terdapat dalam delim. Sekiranya tidak terdapat watak lebar seperti itu, rentetan lebar tidak mengandungi tanda. Jadi penunjuk kosong dikembalikan.
    Sekiranya watak luas seperti itu dijumpai, dari situ fungsi mencari watak luas yang terdapat dalam delim. Sekiranya tiada pemisah, str hanya mempunyai satu token. Sekiranya pemisah dijumpai, ia digantikan oleh L ' 0' dan penunjuk ke watak berikut disimpan dalam * ptr. Akhirnya, fungsi mengembalikan penunjuk ke permulaan token.
  2. Sekiranya str adalah NULL:
    Panggilan tersebut dianggap sebagai panggilan berikutnya ke wcstok dan fungsinya berlanjutan dari tempat ia ditinggalkan dalam permintaan sebelumnya dengan * ptr yang sama.

wcstok () Parameter

  • str: Penunjuk ke rentetan lebar yang dihentikan nol untuk menandakan.
  • delim: Penunjuk ke rentetan lebar yang ditamatkan nol yang mengandungi pemisah.
  • ptr: Penunjuk ke penunjuk ke watak luas yang digunakan oleh wcstok untuk menyimpan keadaan dalamannya.

wcstok () Nilai pulangan

  • Fungsi wcstok () mengembalikan penunjuk ke permulaan token seterusnya jika ada
  • Ia mengembalikan NULL jika tidak ada lagi token yang dijumpai.

Contoh: Bagaimana fungsi wcstok () berfungsi?

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

Semasa anda menjalankan program, outputnya adalah:

 Tokennya adalah: burung hantu burung hantu burung pipit burung merpati

Artikel menarik...