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

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

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

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

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

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

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

Ορίζεται στο αρχείο κεφαλίδας "> αρχείο κεφαλίδας.

παράμετροι strtok ()

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

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

Η strtok()συνάρτηση επιστρέφει το δείκτη στο επόμενο διακριτικό, εάν υπάρχει, ή επιστρέφει NULL εάν δεν υπάρχουν άλλα διακριτικά.

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

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

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

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

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