C ++ wcsxfrm () - C ++ standarta bibliotēka

Funkcija wcsxfrm () C ++ pārveido norādīto nulles gala plašo virkni ieviešanas definētā formā.

Funkcija wcsxfrm () pārveido plašu virkni tā, ka, salīdzinot divas pārveidotās platās virknes, izmantojot funkciju wcscmp (), tiek iegūts identisks rezultāts, salīdzinot sākotnējās platās virknes, izmantojot funkciju wcscoll () pašreizējā C lokalizācijā.

Piemēram, x un y ir divas platas virknes. a un b ir divas platas virknes, kas izveidotas, attiecīgi pārveidojot x un y, izmantojot funkciju wcsxfrm.

Tad,

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

Tas ir definēts galvenes failā.

wcsxfrm () prototips

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

Funkcija wcsxfrm () pārvērš pirmās platas virknes skaita plašās rakstzīmes, uz kurām norāda src, par īstenošanas definētu formu, un rezultāts tiek saglabāts atmiņas vietā, uz kuru norāda dest.

Šīs funkcijas darbība nav definēta, ja:

  • dest izmērs ir mazāks par nepieciešamo izmēru.
  • dest un src pārklājas.

wcsxfrm () parametri

  • dest: rādītājs uz masīvu, kur tiek glabāta pārveidotā plata virkne.
  • src: rādītājs uz transformējamo nulles izbeigto plašo virkni.
  • skaits: maksimālais plašo rakstzīmju skaits, kas jāpārvērš.

wcsxfrm () Atgriežamā vērtība

Funkcija wcsxfrm () atgriež pārveidoto plato rakstzīmju skaitu, izņemot beigu nulles plato rakstzīmi L ' 0'.

Piemērs: Kā darbojas 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; )

Palaidot programmu, izeja būs:

 wcscoll atgriezās -1 Pirms transformācijas wcscmp atgriezās 1 Pēc transformācijas wcscmp atgriezās -1

Interesanti raksti...