C ++ wcstok () - Βασική βιβλιοθήκη C ++

Η συνάρτηση wcstok () στο C ++ επιστρέφει το επόμενο διακριτικό σε μια ευρεία συμβολοσειρά με μηδενικό τερματισμό.

Η συνάρτηση wcstok () ορίζεται στο αρχείο κεφαλίδας.

πρωτότυπο wcstok ()

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

Η συνάρτηση wcstok () παίρνει τρία ορίσματα: str, delim και ptr. Αυτή η συνάρτηση βρίσκει το διακριτικό στην ευρεία συμβολοσειρά που δείχνει ο str. Το όριο δείκτη δείχνει τους διαχωριστικούς χαρακτήρες.

Αυτή η συνάρτηση μπορεί να κληθεί πολλές φορές για να αποκτήσετε μάρκες από την ίδια ευρεία συμβολοσειρά. Υπάρχουν δύο περιπτώσεις:

  1. Εάν το str δεν είναι NULL:
    Μια κλήση στο wcstok () θεωρείται η πρώτη κλήση για αυτήν την ευρεία συμβολοσειρά. Η συνάρτηση αναζητά τον πρώτο μεγάλο χαρακτήρα που δεν περιλαμβάνεται στο όριο. Εάν δεν βρεθεί τόσο μεγάλος χαρακτήρας, η ευρεία συμβολοσειρά δεν περιέχει κανένα διακριτικό. Έτσι επιστρέφεται ένας μηδενικός δείκτης.
    Εάν βρεθεί ένας τόσο μεγάλος χαρακτήρας, από εκεί στη συνάρτηση αναζητείται ένας μεγάλος χαρακτήρας που υπάρχει στο όριο. Εάν δεν βρεθεί διαχωριστικό, το str έχει μόνο ένα διακριτικό. Εάν βρεθεί διαχωριστικό, αντικαθίσταται από το L ' 0' και ο δείκτης στον ακόλουθο χαρακτήρα αποθηκεύεται σε * ptr. Τέλος, η συνάρτηση επιστρέφει το δείκτη στην αρχή του διακριτικού.
  2. Εάν το str είναι NULL:
    Η κλήση θεωρείται ως επόμενες κλήσεις στο wcstok και η λειτουργία συνεχίζεται από εκεί που έφυγε στην προηγούμενη επίκληση με το ίδιο * ptr

wcstok () Παράμετροι

  • str: Δείκτης στην ευθεία συμβολοσειρά με μηδενικό τερματισμό για να διακριθεί.
  • όριο: Δείκτης στην ευθεία συμβολοσειρά με το μηδενικό άκρο που περιέχει τους διαχωριστές
  • ptr: Δείκτης σε δείκτη σε μεγάλο χαρακτήρα που χρησιμοποιείται από το wcstok για την αποθήκευση της εσωτερικής του κατάστασης.

wcstok () Τιμή επιστροφής

  • Η συνάρτηση wcstok () επιστρέφει το δείκτη στην αρχή του επόμενου διακριτικού, εάν υπάρχει
  • Επιστρέφει NULL εάν δεν βρεθούν πλέον μάρκες.

Παράδειγμα: Πώς λειτουργεί η λειτουργία wcstok ();

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

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Τα κουπόνια είναι: παπαγάλος κουκουβάγια σπουργίτι περιστέρι κοράκι

ενδιαφέροντα άρθρα...