English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل تعليمات C الأساسية

تحكم في عملية C

الوظائف بلغة C

المساحات بلغة C

المراجع بلغة C

النصوص بلغة C

مباني C

ملف C

C أخرى

دليل مكتبة C

استخدام وظيفة mbstowcs() و مثال

مكتبة C القياسية - <stdlib.h>

وظيفة مكتبة C size_t mbstowcs(schar_t *pwcs, const char *str, size_t n) التحويل str تحويل سلسلة الأحرف المكونة من عدة أحرف إلى المتغير pwcs المصفوفة التي تشير إليها.

الإعلان

هذا هو إعلان وظيفة mbstowcs().

size_t mbstowcs(schar_t *pwcs, const char *str, size_t n)

المتغيرات

  • pwcs -- يشير إلى مصفوفة wchar_t، طولها يكفي لتخزين سلسلة العريضة الأكبر.
  • str -- سلسلة الأحرف المكونة من عدة أحرف التي سيتم تحويلها.
  • n -- أقصى عدد من الحروف التي سيتم تحويلها.

القيمة العائدة

تقوم الوظيفة بالعودة بعدد الرموز المترجمة، بدون الرمز المكون من حرف واحد. إذا واجهت وظيفة رمزًا غير صالحًا من عدة أحرف، فإنها تعود قيمة -1.

مثال عبر الإنترنت

هذا المثال يوضح استخدام وظيفة mbstowcs().

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
   int len;
   char *pmbnull  = NULL;
   char *pmb = (char *)malloc( MB_CUR_MAX );
   wchar_t *pwc = L"Hi";
   wchar_t *pwcs = (wchar_t *)malloc( sizeof( wchar_t ));
   printf("تحويل إلى سلسلة من الأحرف المكونة من عدة أحرف\n");
   len = wcstombs( pmb, pwc, MB_CUR_MAX);
   printf("الرمز المكون من عدة أحرف:%d\n", len);
   printf("قيمة السلسلة العريضة الأولى للمكون من عدة أحرف:%#.4x\n", pmb);
   printf("تحويل إلى سلسلة العريضة\n");
   len = mbstowcs( pwcs, pmb, MB_CUR_MAX);
   printf("الرمز المكون من عدة أحرف:%d\n", len);
   printf("قيمة السلسلة العريضة الأولى بالحروف الست عشر:%#.4x\n\n", pwcs);
   return(0);
}

دعونا نقوم بترميز وتشغيل البرنامج أعلاه، وسيتم إنتاج النتيجة التالية:

تحويل النص إلى حرف متعدد الأبجديات
الحرف الذي تم تحويله 1
القيمة السداسية الأولى للحرف المتعدد الأبجديات: 0x19a60010
تحويل النص إلى حرف عريض
الحرف الذي تم تحويله 1
القيمة السداسية الأولى للحرف العريض: 0x19a60030

مكتبة C القياسية - <stdlib.h>