C ทำงานห้องสมุด - wctomb ()
C ห้องสมุดมาตรฐาน - <stdlib.h>
ลักษณะ
C ทำงานห้องสมุดint wctomb (char * Str, wchar_t WCHAR) WCHARตัวอักษรกว้างเข้ามาเป็นตัวแทนของสัญลักษณ์และเก็บไว้ที่จุดเริ่มต้นของจุดSTRเพื่ออาร์เรย์ตัวอักษร
คำแถลง
นี่คือ () ฟังก์ชัน wctomb คำสั่ง
int wctomb(char *str, wchar_t wchar)
พารามิเตอร์
- STR - ตัวชี้ไปยังอาร์เรย์ที่มีขนาดใหญ่พอที่จะเก็บอักขระหลายไบต์
- WCHAR - ประเภท wchar_t ตัวกว้าง
ราคาย้อนกลับ
- ถ้า STR ไม่ได้เป็นโมฆะ wctomb () ฟังก์ชันส่งกลับจำนวนไบต์ที่เขียนไปยังอาร์เรย์ไบต์ หาก WCHAR ไม่สามารถแสดงเป็นลำดับหลายไบต์มันกลับ -1
- ถ้า STR เป็นโมฆะถ้าเข้ารหัสมีรัฐกะ wctomb () ฟังก์ชันส่งกลับไม่ใช่ศูนย์ถ้าการเข้ารหัสเป็นไร้สัญชาติก็จะส่งกลับศูนย์
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึง wctomb ฟังก์ชัน () ถูกนำมาใช้
#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("要转换的宽字符:\n"); i = wctomb( pmb, wc ); printf("被转换的字符:%u\n", i); printf("多字节字符:%.1s\n", pmb); printf("当要转换的字符为 NULL 时尝试转换:\n"); i = wctomb( pmbnull, wc ); printf("被转换的字符:%u\n", i); /* 不会输出任何值 */ printf("多字节字符:%.1s\n", pmbnull); return(0); }
Let 's รวบรวมและเรียกใช้โปรแกรมข้างต้นซึ่งจะส่งผลต่อไปนี้:
要转换的宽字符: 被转换的字符:1 多字节字符:a 当要转换的字符为 NULL 时尝试转换: 被转换的字符:0 多字节字符: