C ++ wcsxfrm () - Perpustakaan Standard C ++

Fungsi wcsxfrm () dalam C ++ mengubah rentetan lebar nol yang diberi tertentu menjadi bentuk yang ditentukan pelaksanaan.

Fungsi wcsxfrm () mengubah rentetan lebar sehingga membandingkan dua rentetan lebar yang diubah menggunakan fungsi wcscmp () menghasilkan hasil yang sama seperti membandingkan rentetan lebar yang asli menggunakan fungsi wcscoll () di tempat C semasa.

Contohnya, x dan y adalah dua rentetan lebar. a dan b adalah dua tali lebar yang dibentuk dengan mengubah x dan y masing-masing menggunakan fungsi wcsxfrm.

Kemudian,

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

Ia ditakrifkan dalam fail tajuk.

prototaip wcsxfrm ()

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

Fungsi wcsxfrm () menukarkan bilangan luas luas pertama dari tali lebar yang ditunjukkan oleh src ke bentuk yang ditentukan pelaksanaan dan hasilnya disimpan di lokasi memori yang ditunjukkan oleh dest.

Tingkah laku fungsi ini tidak ditentukan sekiranya:

  • ukuran dest kurang dari ukuran yang diperlukan.
  • dest dan src bertindih.

wcsxfrm () Parameter

  • dest: penunjuk ke array di mana rentetan lebar yang diubah disimpan.
  • src: penunjuk ke rentetan lebar yang ditamatkan nol untuk diubah.
  • hitung: bilangan maksimum watak lebar untuk ditukar.

wcsxfrm () Nilai pulangan

Fungsi wcsxfrm () mengembalikan bilangan watak lebar yang ditransformasikan, tidak termasuk aksara lebar nol penamat L ' 0'.

Contoh: Bagaimana fungsi wcsxfrm () berfungsi?

 #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; )

Semasa anda menjalankan program, outputnya adalah:

 wcscoll kembali -1 Sebelum transformasi, wcscmp kembali 1 Selepas transformasi, wcscmp kembali -1

Artikel menarik...