C ++ wcsxfrm () - Standardna knjižnica C ++

Funkcija wcsxfrm () u C ++-u pretvara zadani široki niz završen s nulom u oblik definiran implementacijom.

Funkcija wcsxfrm () transformira široki niz tako da usporedba dva transformirana široka niza pomoću funkcije wcscmp () daje identičan rezultat kao usporedba izvornih širokih nizova pomoću funkcije wcscoll () u trenutnom C lokalitetu.

Na primjer, x i y su dva široka niza. a i b su dva široka niza nastala pretvaranjem x odnosno y pomoću funkcije wcsxfrm.

Zatim,

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

Definirano je u datoteci zaglavlja.

prototip wcsxfrm ()

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

Funkcija wcsxfrm () pretvara prve brojeve širokog znaka širokog niza na koji ukazuje src u oblik definiran implementacijom, a rezultat se sprema na memorijsko mjesto na koje ukazuje dest.

Ponašanje ove funkcije nije definirano ako:

  • veličina destinacije je manja od potrebne veličine.
  • dest i src se preklapaju.

wcsxfrm () Parametri

  • dest: pokazivač na niz u kojem se nalazi transformirani široki niz.
  • src: pokazivač na nulto završeni široki niz koji treba transformirati.
  • count: maksimalan broj širokih znakova za pretvaranje.

wcsxfrm () Povratna vrijednost

Funkcija wcsxfrm () vraća broj transformiranih širokih znakova, isključujući krajnji null široki znak L ' 0'.

Primjer: Kako funkcionira funkcija 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; )

Kada pokrenete program, izlaz će biti:

 wcscoll vratio -1 Prije transformacije, wcscmp vratio 1 Nakon transformacije, wcscmp vratio -1

Zanimljivi članci...