Η συνάρτηση setlocale () στο C ++ ορίζει τις τοπικές πληροφορίες για το τρέχον πρόγραμμα.
Η συνάρτηση setlocale () ορίζεται στο αρχείο κεφαλίδας.
πρωτότυπο setlocale ()
int setlocale (κατηγορία int, const char * locale);
Η συνάρτηση setlocale χρησιμοποιείται για να ορίσει μια καθορισμένη τοποθεσία συστήματος για τη δεδομένη κατηγορία. Η συνάρτηση setlocale μπορεί επίσης να χρησιμοποιηθεί για το ερώτημα της τρέχουσας τοπικής C.
Αυτό μπορεί να γίνει μεταβιβάζοντας έναν μηδενικό δείκτη στη θέση των τοπικών ρυθμίσεων.
setlocale () Παράμετροι
- κατηγορία: Καθορίζει ποιες τοπικές πληροφορίες του προγράμματος επηρεάζονται. Οι πιθανές μακροεντολές για την κατηγορία είναι:
Μακροεντολές | Περιγραφή |
---|---|
LC_ALL | Επιλέγει όλες τις τοπικές ρυθμίσεις C |
LC_COLLATE | Επιλέξτε την κατηγορία ταξινόμησης |
LC_CTYPE | Επιλέγει την κατηγορία ταξινόμησης χαρακτήρων |
LC_MONETARY | Επιλέγει την κατηγορία νομισματικής μορφοποίησης |
LC_NUMERIC | Επιλέγει την κατηγορία αριθμητικής μορφοποίησης |
LC_TIME | Επιλέγει την κατηγορία μορφοποίησης ώρας |
- locale: Ένα αναγνωριστικό τοπικής ρύθμισης συστήματος. Εάν πρόκειται για μηδενικό δείκτη, μια κλήση στο setlocale () ερωτά την τρέχουσα τοπική C.
setlocale () Τιμή επιστροφής
- Με επιτυχία, η συνάρτηση setlocale () επιστρέφει ένα δείκτη στη συμβολοσειρά που προσδιορίζει τις τοπικές ρυθμίσεις C μετά την εφαρμογή των αλλαγών.
- Σε αποτυχία επιστρέφει ένα μηδέν δείκτη.
Παράδειγμα: Πώς λειτουργεί η λειτουργία setlocale ();
#include #include using namespace std; int main() ( char *str; setlocale(LC_ALL, "en_US.utf8"); str = setlocale(LC_ALL, NULL); cout << "Current locale: " << str << endl; cout << "Changing locale " << endl; setlocale(LC_ALL, "en_GB.utf8"); str = setlocale(LC_ALL, NULL); wcout << "Current locale: " << str << endl; return 0; )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
Τρέχουσες τοπικές ρυθμίσεις: en_US.utf8 Αλλαγή τοπικών Τρέχουσες τοπικές ρυθμίσεις: en_GB.utf8