C ++ vwscanf () - C ++ Τυπική βιβλιοθήκη

Η συνάρτηση vwscanf () στο C ++ χρησιμοποιείται για την ανάγνωση ευρείας συμβολοσειράς χαρακτήρων από το stdin.

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

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

 int vwscanf (const const wchar_t * format, va_list vlist);

Η συνάρτηση vwscanf () διαβάζει τα δεδομένα από το stdin και αποθηκεύει τις τιμές στις αντίστοιχες τοποθεσίες όπως ορίζονται από το vlist.

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

  • Μορφή: Δείκτης σε μια συμβολοσειρά ευρέως χαρακτήρων μηδενικού τερματισμού που καθορίζει τον τρόπο ανάγνωσης της εισόδου. Αποτελείται από προσδιοριστές μορφής ξεκινώντας από%.
    Η συμβολοσειρά μορφής έχει τα ακόλουθα μέρη:
    • Χαρακτήρες χωρίς κενό διάστημα, εκτός από το% καθένα από τα οποία καταναλώνει έναν ίδιο χαρακτήρα από τη ροή εισόδου. Μπορεί να προκαλέσει αποτυχία της λειτουργίας, εάν ο επόμενος χαρακτήρας στη ροή δεν συγκρίνεται ίσος.
    • Χαρακτήρας κενού χώρου: Όλοι οι διαδοχικοί χαρακτήρες κενού χώρου αντιμετωπίζονται ως μεμονωμένος χαρακτήρας κενού διαστήματος. Επιπλέον, τα « n», « t» και «» θεωρούνται ίδια.
    • Προδιαγραφή μετατροπής: Ακολουθεί την ακόλουθη μορφή:
      • Αρχικός χαρακτήρας% που καθορίζει την αρχή
      • Ένας προαιρετικός * αποκαλούμενος χαρακτήρας καταστολής ανάθεσης. Εάν αυτός ο χαρακτήρας υπάρχει, το vwscanf () δεν αποδίδει το αποτέλεσμα σε κανένα όρισμα λήψης.
      • Ένας προαιρετικός θετικός ακέραιος αριθμός που καθορίζει το μέγιστο πλάτος πεδίου. Καθορίζει τον μέγιστο αριθμό χαρακτήρων που επιτρέπεται να καταναλώνει το vwscanf () κατά τη μετατροπή που καθορίζεται από την τρέχουσα προδιαγραφή μετατροπής.
      • Ένας προαιρετικός τροποποιητής μήκους που καθορίζει το μέγεθος του ορίσματος λήψης.
      • Ένας προσδιοριστής μορφής μετατροπής.
    Διαμορφωτές μορφοποίησης
    Προσδιοριστής μορφής Περιγραφή
    % Ταιριάζει με το κυριολεκτικό%
    ντο Ταιριάζει με έναν ή περισσότερους χαρακτήρες. Εάν ορίζεται το πλάτος, ταιριάζει με χαρακτήρες ακριβώς πλάτους.
    μικρό Ταιριάζει με διαδοχικούς χαρακτήρες χωρίς κενό διάστημα. Εάν ορίζεται το πλάτος, ταιριάζει με χαρακτήρες ακριβώς πλάτους ή μέχρι να βρεθεί ο πρώτος κενός χώρος.
    (σειρά) Αντιστοιχεί σε μια κενή ακολουθία χαρακτήρων από το δεδομένο σύνολο χαρακτήρων. Εάν το είναι παρόν στην αρχή του σετ, τότε όλοι οι χαρακτήρες που δεν βρίσκονται στο σετ ταιριάζουν.
    ρε Ταιριάζει με έναν δεκαδικό ακέραιο.
    Εγώ Ταιριάζει με έναν ακέραιο.
    ο Ταιριάζει με έναν μη υπογεγραμμένο οκταδικό ακέραιο.
    X ή x Αντιστοιχεί σε έναν μη υπογεγραμμένο δεκαεξαδικό ακέραιο.
    εσύ Αντιστοιχεί σε έναν μη υπογεγραμμένο δεκαδικό ακέραιο.
    A ή a, E ή e, F ή f, G ή g Ταιριάζει με έναν αριθμό κινητής υποδιαστολής.
    ν Επιστρέφει τον αριθμό των χαρακτήρων που έχουν διαβαστεί μέχρι στιγμής.
    Π Ταιριάζει με μια ακολουθία χαρακτήρων που καθορίζεται από την εφαρμογή και καθορίζει έναν δείκτη.

    Έτσι, η γενική μορφή του προσδιοριστή μορφής είναι:
     % (*) (πλάτος) (μήκος) προσδιοριστής
  • vlist: Μια λίστα με τα επιχειρήματα για τη λήψη των εισόδων.

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

  • Εάν είναι επιτυχής, η συνάρτηση vwscanf () επιστρέφει τον αριθμό των ορισμάτων που έχουν διαβαστεί με επιτυχία.
  • Σε περίπτωση αποτυχίας, το EOF επιστρέφεται.

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

 #include #include #include void read( const wchar_t* format,… ) ( va_list args; va_start (args, format); vwscanf (format, args); va_end (args); ) int main () ( setlocale(LC_ALL, "en_US.UTF-8"); wchar_t name(50); wprintf(L"What is your name? "); read(L" %ls", name); wprintf(L"Hello %ls", name); return 0; )

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

Πως σε λένε? Götz Γεια Götz

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