C ++ strxfrm () - Perpustakaan Standard C ++

Fungsi strxfrm () dalam C ++ mengubah rentetan byte null yang diakhiri menjadi bentuk yang ditentukan pelaksanaan.

Fungsi strxfrm () mengubah rentetan sedemikian rupa sehingga membandingkan dua rentetan yang diubah menggunakan fungsi strcmp () menghasilkan hasil yang sama seperti membandingkan rentetan asal menggunakan fungsi strcoll () di tempat C semasa.

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

prototaip strxfrm ()

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

Fungsi strxfrm () menukar watak kiraan pertama rentetan 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.

Ia ditakrifkan dalam header file "> header file.

strxfrm () Parameter

  • dest: penunjuk ke array di mana rentetan yang diubah disimpan.
  • src: penunjuk ke rentetan nol yang akan diubah.
  • kiraan: bilangan aksara maksimum untuk ditukar.

strxfrm () Nilai pulangan

Fungsi strxfrm () mengembalikan bilangan watak yang diubah, tidak termasuk watak null penamat ' 0'.

Contoh: Bagaimana fungsi strxfrm () berfungsi?

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

Semasa anda menjalankan program, outputnya adalah:

 strcoll kembali -1 Sebelum transformasi, strcmp kembali 1 Selepas transformasi, strcmp kembali -1

Artikel menarik...