Hàm wctomb() trong C

Hàm int wctomb(char *str, wchar) chuyển đổi wide char thành biểu diễn multi-byte char của nó và lưu trữ nó tại phần đầu mảng ký tự được trỏ tới bởi str.

Khai báo hàm wctomb() trong C

Dưới đây là phần khai báo cho wctomb() trong C:

int wctomb(char *str, wchar)

Tham số

str: là con trỏ trỏ tới một mảng đủ rộng để lưu giữ các multibyte char

wchar: là wide character của kiểu wchar_t.

Trả về giá trị

Nếu str không NULL, hàm wctomb() trả về số byte mà đã được ghi tới mảng byte tại str. Nếu không thể biểu diễn wchar dưới dạng multibyte sequence, hàm này trả về giá trị -1.

Nếu str là NULL, hàm wctomb() trả về giá trị khác 0 nếu mã hóa là có trạng thái, hoặc giá trị 0 nếu mã hóa là không có trạng thái.

Ví dụ

Chương trình C sau minh họa cách sử dụng của wctomb() trong C:

#include <stdio.h>
#include <stdlib.h>

int main()
{
   int i;
   wchar_t wc = L'a';
   char *pmbnull = NULL;
   char *pmb = (char *)malloc(sizeof( char ));

   printf("Chuyen doi wide char:\n");
   i = wctomb( pmb, wc );
   printf("Cac ky tu duoc chuyen doi: %u\n", i);
   printf("Multibyte char: %.1s\n", pmb);

   printf("Co gang thuc hien thao tac chuyen doi khi dich la NULL:\n");
   i = wctomb( pmbnull, wc );
   printf("Cac ky tu duoc chuyen doi: %u\n", i);
   /* lenh sau se khong in bat ky gia tri nao */
   printf("Multibyte char: %.1s\n", pmbnull);
   
   return(0);
}

Biên dịch và chạy chương trình C trên sẽ cho kết quả:

Biên dịch và chạy chương trình C để xem kết quả

Theo Tutorialspoint

Bài trước: Hàm mbtowc() trong C

Bài tiếp: string.h trong C

Thứ Bảy, 01/09/2018 15:54
53 👨 354
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖
    ❖ Lập trình C
    Chia sẻ
    Chia sẻ FacebookChia sẻ Twitter
    Đóng