C ++ c32rtomb () - Thư viện chuẩn C ++

Hàm c32rtomb () trong C ++ chuyển đổi một ký tự 32 bit để biểu diễn thành một biểu diễn ký tự đa byte hẹp.

Hàm c32rtomb () được định nghĩa trong tệp tiêu đề.

nguyên mẫu c32rtomb ()

 size_t c32rtomb (char * s, char32_t c32, mbstate_t * ps);

Hàm c32rtomb () chuyển đổi ký tự utf-32 c32 thành ký tự multibyte tương đương của nó và lưu trữ nó trong đối tượng được trỏ tới bởi s.

Nếu s đại diện cho một con trỏ null, thì lệnh gọi tương đương với c32rtomb (buf, U ' 0', ps) cho một số buf đệm nội bộ.

Nếu c32 là ký tự rộng rỗng, tức là U ' 0', một byte rỗng được lưu trữ.

c32rtomb () Tham số

  • s: Con trỏ đến một mảng ký tự nơi lưu trữ ký tự nhiều byte.
  • c32: Ký tự 32 bit cần chuyển đổi.
  • ps: Một con trỏ đến một đối tượng mbstate_t được sử dụng khi diễn giải chuỗi multibyte.

c32rtomb () Giá trị trả về

  • Khi thành công, hàm c32rtomb () trả về số byte được ghi vào mảng ký tự được trỏ tới bởi s.
  • Khi thất bại, -1 được trả về và errno được đặt thành EILSEQ .

Ví dụ: Hàm c32rtomb () hoạt động như thế nào?

 #include #include using namespace std; int main() ( const char32_t str() = U"C++ is super fast."; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c32rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i 

When you run the program, the output will be:

 C++ is super fast.

thú vị bài viết...