কম্পিউটার

C/C++ এ c16rtomb() ফাংশন?


C++ এ, আমরা 16-বিট অক্ষর উপস্থাপনা ব্যবহার করতে পারি। c16rtomb() ফাংশনটি 16-বিট অক্ষর উপস্থাপনাকে সংকীর্ণ মাল্টি-বাইট অক্ষর উপস্থাপনায় রূপান্তর করতে ব্যবহৃত হয়। আমরা uchar.h হেডার ফাইলের ভিতরে এই ফাংশনটি খুঁজে পেতে পারি।

এই ফাংশন তিনটি পরামিতি লাগে. এগুলো হল -

  • যে স্ট্রিংটিতে মাল্টি-বাইট অক্ষর সংরক্ষণ করা হবে
  • রূপান্তর করার জন্য 16-বিট অক্ষর
  • টাইপ mbstate_t অবজেক্টের পয়েন্টার। যা মাল্টিবাইট স্ট্রিংকে ব্যাখ্যা করতে ব্যবহৃত হয়।

এই ফাংশনটি ক্যারেক্টার অ্যারেতে লেখা বাইটের সংখ্যা প্রদান করে, যখন এটি সফল হয়, অন্যথায় -1 প্রদান করে। আসুন আরও ভাল ধারণা পেতে একটি উদাহরণ দেখি৷

উদাহরণ

#include <iostream>
#include <uchar.h>
#include <wchar.h>
using namespace std;
int main() {
   const char16_t myStr[] = u"Hello World";
   char dest[50];
   mbstate_t p{};
   size_t length;
   int j = 0;
   while (myStr[j]) {
      length = c16rtomb(dest, myStr[j], &p); //get length from c16rtomb() method
      if ((length == 0) || (length > 50))
         break;
      for (int i = 0; i < length; ++i)
         cout << dest[i];
         j++;
   }
}

আউটপুট

Hello World

  1. C/C++ এ putwchar() ফাংশন

  2. mbrtoc16() C/C++ এ উদাহরণ সহ

  3. mbsrtowcs() ফাংশন C/C++ এ

  4. C/C++ এ সিস্টেম() ফাংশন