Hàm thư viện C int mbtowc(wchar_t *pwc, const char *str, size_t n) chuyển đổi dãy multi-byte sang ký tự rộng (wide character).
Khai báo:
int mbtowc(wchar_t *pwc, const char *str, size_t n)
Tham số:
- pwc: con trỏ tới đối tượng kiểu wchar_t.
- str: con trỏ tới byte đầu của ký tự multi-byte.
- n: số byte tối đa kiểm tra độ dài ký tự.
Giá trị trả về:
- Nếu str không NULL: trả về số byte tiêu thụ từ str, hoặc 0 nếu trỏ tới null byte, hoặc -1 khi thất bại.
- Nếu str là NULL: trả về non-zero nếu encoding có trạng thái dịch chuyển phức tạp, 0 nếu encoding không trạng thái.
Ví dụ
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char *str = "This is tutorialspoint.com";
wchar_t mb[100];
int len;
len = mblen(NULL, MB_CUR_MAX);
mbtowc(mb, str, len * strlen(str));
wprintf(L"%ls \n", mb);
return 0;
}
Kết quả
???