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

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

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

c16rtomb () Nguyên mẫu

 size_t c16rtomb (char * s, char16_t c16, mbstate_t * ps);

Hàm c16rtomb () chuyển đổi ký tự utf-16 c16 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 c16rtomb (buf, u ' 0', ps) cho một số buf đệm nội bộ.

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

c16rtomb () Tham số

  • s: Con trỏ đến một mảng ký tự nơi ký tự nhiều byte sẽ được lưu trữ.
  • c16: Ký tự 16 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.

c16rtomb () Giá trị trả về

  • Khi thành công, hàm c16rtomb () 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à EILSEQ được lưu trữ trong errno.

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

 #include #include using namespace std; int main() ( const char16_t str() = u"Hello World!"; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c16rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i 

When you run the program, the output will be:

 Hello World!

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