কম্পিউটার

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


এই নিবন্ধে আমরা C++ STL-এ std::mbsrtowcs() ফাংশনের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।

std::mbsrtowcs() কি?

std::mbsrtowcs() ফাংশন হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন, যা হেডার ফাইলে সংজ্ঞায়িত করা হয়েছে। mbsrtowcs() এর অর্থ হল এটি নাল টার্মিনেটেড মাল্টিবাইট ক্যারেক্টার স্ট্রিংকে রূপান্তর করে যার প্রথম বাইট *src তার বিস্তৃত অক্ষর উপস্থাপনে। এই ফাংশন রূপান্তর অনুযায়ী মান প্রদান করে।

সিনট্যাক্স

size_t mbsrtowcs( wchar_t* pwc, char** str, size_t n, mbstate_t* ps);

পরামিতি

ফাংশন নিম্নলিখিত পরামিতি(গুলি) −

গ্রহণ করে
  • pwc − এটি সেই অবস্থানের নির্দেশক যেখানে আমরা আউটপুট সংরক্ষণ করতে চাই।
  • str − ক্যারেক্টার স্ট্রিং যা ইনপুট হিসেবে ব্যবহৃত হয়।
  • n − এটা হল বাইটের সংখ্যা যা চেক করতে হবে।
  • ps − যখন আমরা মাল্টিবাইট স্ট্রিংকে ব্যাখ্যা করি তখন এটি স্টেট অবজেক্টের নির্দেশক৷

রিটার্ন মান

এই ফাংশন রিটার্ন মান নিম্নলিখিত শর্ত অনুযায়ী পৃথক হয় −

  • 0 − যখন str-এর অক্ষরটি NULL হয় তখন ফাংশনটি শূন্য দেখাবে।
  • 1…n− নাল এন্ডিং অক্ষরগুলির বাইটের সংখ্যা যা রূপান্তরিত এবং স্ট্রিং *str এ সংরক্ষণ করা হয়।
  • -1 − রূপান্তর করার সময় ত্রুটি EILSEQ তে সেট করা থাকলে আমরা এটি পাই৷

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int main(){
   setlocale(LC_ALL, "en_US.utf8");
   const char* ch = "\u0777\u0755";
   wchar_t arr[20];
   mbstate_t hold = mbstate_t();
   int highest = 10;
   int val = mbsrtowcs ( arr, &ch, highest, &hold );
   wcout << L"Wide characters are: "<< val << endl;
   wcout << L"Given Wide character is: " << arr << endl;
   return 0;
}

আউটপুট

Wide characters are: 2
Given Wide character is: ݷݕ

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int main() {
   setlocale(LC_ALL, "en_US.utf8");
   const char* ch = u8"z\u00df\u6c34";
   wchar_t arr[20];
   mbstate_t hold = mbstate_t();
   int highest = 10;
   int val = mbsrtowcs ( arr, &ch, highest, &hold );
   wcout << L"Total Wide characters are: "<< val << endl;
   wcout << L"Given Wide character is: " << arr << endl;
   return 0;
}

আউটপুট

Total Wide characters are: 3
Given Wide character is: zß水



  1. C/C++ প্রোগ্রামে mbrtowc() ফাংশন

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

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

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