C ++ strxfrm () - C ++ Standard Library

Fungsi strxfrm () di C ++ mengubah string byte diakhiri null tertentu menjadi bentuk implementasi yang ditentukan.

Fungsi strxfrm () mengubah string sedemikian rupa sehingga membandingkan dua string yang diubah menggunakan fungsi strcmp () menghasilkan hasil yang sama seperti membandingkan string asli menggunakan fungsi strcoll () di lokal C saat ini.

Misalnya, x dan y adalah dua string. a dan b adalah dua string yang dibentuk dengan mengubah x dan y masing-masing menggunakan fungsi strxfrm. Kemudian panggilan ke strcmp (a, b) sama dengan memanggil strcoll (x, y).

strxfrm () prototipe

 size_t strxfrm (char * dest, const char * src, hitungan size_t);

Fungsi strxfrm () mengonversi karakter hitungan pertama dari string yang ditunjukkan oleh src menjadi bentuk implementasi yang ditentukan dan hasilnya disimpan di lokasi memori yang ditunjuk oleh tujuan.

Perilaku fungsi ini tidak ditentukan jika:

  • ukuran tujuan kurang dari ukuran yang dibutuhkan.
  • dest dan src tumpang tindih.

Ini didefinisikan dalam file header "> file header.

strxfrm () Parameter

  • dest: penunjuk ke larik tempat string yang diubah disimpan.
  • src: pointer ke string diakhiri null untuk diubah.
  • hitung: jumlah karakter maksimum untuk dikonversi.

strxfrm () Nilai kembali

Fungsi strxfrm () mengembalikan jumlah karakter yang ditransformasikan, tidak termasuk karakter null penghentian ' 0'.

Contoh: Bagaimana fungsi strxfrm () bekerja?

 #include #include #include using namespace std; int main() ( setlocale(LC_COLLATE, "cs_CZ.UTF-8"); const char* s1 = "hrnec"; const char* s2 = "chrt"; char t1(20), t2(20); cout << "strcoll returned " << strcoll(s1,s2) << endl; cout << "Before transformation, " << "strcmp returned " << strcmp(s1,s2) << endl; strxfrm(t1,s1,10); strxfrm(t2,s2,10); cout << "After transformation, " << "strcmp returned " << strcmp(t1,t2) << endl; return 0; )

Saat Anda menjalankan program, hasilnya adalah:

 strcoll dikembalikan -1 Sebelum transformasi, strcmp dikembalikan 1 Setelah transformasi, strcmp dikembalikan -1

Artikel yang menarik...