Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ฟังก์ชัน mbtowc ใน C


ฟังก์ชันไลบรารี C int mbtowc(whcar_t *pwc, const char *str, size_t n) แปลงลำดับหลายไบต์เป็นอักขระแบบกว้าง

ต่อไปนี้เป็นการประกาศสำหรับฟังก์ชัน mbtowc()

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

พารามิเตอร์คือ −

  • pwc − นี่คือตัวชี้ไปยังวัตถุประเภท wchar_t

  • str − นี่คือตัวชี้ไปยังไบต์แรกของอักขระหลายไบต์

  • str − นี่คือตัวชี้ไปยังไบต์แรกของอักขระหลายไบต์

  • −นี่คือจำนวนไบต์สูงสุดที่จะตรวจสอบความยาวของอักขระ

ค่าที่ส่งคืนคือ −

  • ถ้า str ไม่ใช่ NULL ฟังก์ชัน mbtowc() จะคืนค่าจำนวนไบต์ที่ใช้ไปโดยเริ่มที่ str หรือ 0 หาก s ชี้ไปที่ไบต์ว่าง หรือ -1 เมื่อเกิดความล้มเหลว

  • หาก str เป็นค่า NULL ฟังก์ชัน mbtowc() จะส่งกลับค่าที่ไม่ใช่ศูนย์ หากการเข้ารหัสมีสถานะการเปลี่ยนที่ไม่สำคัญ หรือศูนย์หากการเข้ารหัสเป็นแบบไร้สถานะ

ตัวอย่าง

#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);
}

ผลลัพธ์

???