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

Hàm wctomb () trong C ++ chuyển đổi một ký tự rộng thành một ký tự nhiều byte.

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

nguyên mẫu wctomb ()

 int wctomb (char * pmb, wchar_t wc);

Hàm wctomb () nhận hai đối số và trả về một giá trị nguyên. Hàm này chuyển đổi ký tự rộng được đại diện bởi wc thành ký tự đa byte tương đương của nó và được lưu trữ tại vị trí bộ nhớ được trỏ bởi pmb. Số ký tự tối đa có thể được lưu trữ là MB_CUR_MAX .

Nếu wc là ký tự null, byte null được ghi vào pmb.

Nếu pmb là một con trỏ null, một lệnh gọi đến wctomb () sẽ đặt lại trạng thái chuyển đổi toàn cục và xác định xem các chuỗi dịch chuyển có được sử dụng hay không.

thông số wctomb ()

  • pmb: Con trỏ đến ký tự nhiều byte kết quả
  • wc: Ký tự rộng được chuyển đổi thành ký tự nhiều byte

wctomb () Giá trị trả về

Nếu pmb không phải là một con trỏ null, wctomb () trả về:

  • số byte được chứa trong biểu diễn multibyte của wc.
  • -1 nếu wc không phải là ký tự hợp lệ.

Nếu pmb là một con trỏ null, hãy đặt lại trạng thái chuyển đổi bên trong của nó để biểu thị trạng thái dịch chuyển ban đầu và trả về:

  • 0 nếu mã hóa multibyte hiện tại không phụ thuộc vào trạng thái (không sử dụng chuỗi dịch chuyển)
  • một giá trị khác 0 nếu mã hóa multibyte hiện tại phụ thuộc vào trạng thái (sử dụng chuỗi dịch chuyển).

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

 #include #include using namespace std; int main() ( wchar_t wc = L'x'; char *pmb1 = (char*)malloc(sizeof(char)); char *pmb2 = NULL; int ret_val; cout << "When pmb is not null" << endl; ret_val = wctomb(pmb1, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb1 << endl << endl; cout << "When pmb is null" << endl; ret_val = wctomb(pmb2, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb2; return(0); )

Khi bạn chạy chương trình, đầu ra có thể sẽ là:

 Khi pmb không phải là null Giá trị trả về = 1 Ký tự Multibyte: x↨R Khi pmb là null Giá trị trả về = 0 Ký tự Multibyte:

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