Computer >> Máy Tính >  >> Lập trình >> lập trình C

hàm mbtowc trong C

Hàm thư viện C int mbtowc (whcar_t * pwc, const char * str, size_t n) chuyển đổi một chuỗi nhiều byte thành một ký tự rộng.

Sau đây là phần khai báo cho hàm mbtowc ().

int mbtowc(whcar_t *pwc, const char *str, size_t n)

Các tham số là -

  • pwc - Đây là con trỏ đến một đối tượng kiểu wchar_t.

  • str - Đây là con trỏ đến byte đầu tiên của một ký tự nhiều byte.

  • str - Đây là con trỏ đến byte đầu tiên của một ký tự nhiều byte.

  • n −Đây là số byte tối đa được kiểm tra cho độ dài ký tự.

Giá trị trả về là -

  • Nếu str không phải là NULL, hàm mbtowc () trả về số byte được sử dụng bắt đầu từ str hoặc 0 nếu s trỏ đến byte rỗng hoặc -1 khi bị lỗi.

  • Nếu str là NULL, hàm mbtowc () trả về khác 0 nếu mã hóa có trạng thái dịch chuyển không tầm thường hoặc bằng 0 nếu mã hóa 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);
}

Đầu ra

???