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

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

Η συνάρτηση wcsxfrm () μετατρέπει μια ευρεία συμβολοσειρά έτσι ώστε η σύγκριση δύο μετασχηματισμένων ευρείων συμβολοσειρών χρησιμοποιώντας τη συνάρτηση wcscmp () να παράγει το ίδιο αποτέλεσμα με τη σύγκριση των αρχικών ευρείων χορδών χρησιμοποιώντας τη συνάρτηση wcscoll () στις τρέχουσες τοπικές ρυθμίσεις C.

Για παράδειγμα, τα x και y είναι δύο μεγάλες χορδές. Τα a και b είναι δύο μεγάλες χορδές που σχηματίζονται μετασχηματίζοντας x και y αντίστοιχα χρησιμοποιώντας τη συνάρτηση wcsxfrm.

Τότε,

 wcscmp (a, b) = wcscoll (x, y)

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

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

 size_t wcsxfrm (wchar_t * dest, const wchar_t * src, size_t count);

Η συνάρτηση wcsxfrm () μετατρέπει τους πρώτους χαρακτήρες ευρείας συμβολοσειράς της ευρείας συμβολοσειράς που επισημαίνονται από το src σε μια μορφή που καθορίζεται από την υλοποίηση και το αποτέλεσμα αποθηκεύεται στη θέση μνήμης που επισημαίνεται από τον προορισμό.

Η συμπεριφορά αυτής της συνάρτησης δεν καθορίζεται εάν:

  • το μέγεθος του προορισμού είναι μικρότερο από το απαιτούμενο μέγεθος.
  • επικάλυψη dest και src.

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

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

wcsxfrm () Επιστροφή τιμή

Η συνάρτηση wcsxfrm () επιστρέφει τον αριθμό των μεγάλων χαρακτήρων που έχουν μετασχηματιστεί, εξαιρουμένου του τελικού μηδενικού χαρακτήρα L ' 0'

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

 #include #include #include using namespace std; int main() ( setlocale(LC_COLLATE, "cs_CZ.UTF-8"); const wchar_t* s1 = L"u0068u0072u006eu0065u0063"; const wchar_t* s2 = L"u0063u0068u0072u0074"; wchar_t t1(20), t2(20); cout << "wcscoll returned " << wcscoll(s1,s2) << endl; cout << "Before transformation, " << "wcscmp returned " << wcscmp(s1,s2) << endl; wcsxfrm(t1,s1,10); wcsxfrm(t2,s2,10); cout << "After transformation, " << "wcscmp returned " << wcscmp(t1,t2) << endl; return 0; )

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

 Το wcscoll επέστρεψε -1 Πριν από τη μετατροπή, το wcscmp επέστρεψε 1 Μετά τη μετατροπή, το wcscmp επέστρεψε -1

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