C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C / C ++のmbrtowc()関数


このmbrtowc()関数は、マルチバイトシーケンスをワイド文字列に変換するために使用されます。これは、マルチバイト文字の長さをバイト単位で返します。構文は次のようになります。

mbrtowc (wchar_t* wc, const char* s, size_t max, mbstate_t* ps)

引数は-

です
  • wcは、結果のワイド文字が格納される場所を指すポインタです。
  • sは、入力としてのマルチバイト文字列へのポインタです
  • maxは、調べることができるs単位の最大バイト数です
  • psは、マルチバイト文字列を解釈するときに変換状態を指します。

#include <bits/stdc++.h>
using namespace std;
void display(const char* s) {
   mbstate_t ps = mbstate_t(); // initial state
   int s_len = strlen(s);
   const char* n = s + s_len;
   int len;
   wchar_t wide_char;
   while ((len = mbrtowc(&wide_char, s, n - s, &ps)) > 0) {
      wcout << "The following " << len << " bytes are for the character " << wide_char << '\n';
      s += len;
   }
}
main() {
   setlocale(LC_ALL, "en_US.utf8");
   const char* str = u8"z\u00cf\u7c38\U00000915";
   display(str);
}

出力

The following 1 bytes are for the character z
The following 2 bytes are for the character Ï
The following 3 bytes are for the character 簸
The following 3 bytes are for the character क

  1. C / C ++のmbsrtowcs()関数

    この記事では、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 * p

  2. C / C ++のSystem()関数

    与えられたタスクは、C / C ++でのsystem()の動作を示すことです。 system()関数は、C /C++標準ライブラリの一部です。コマンドプロセッサまたはオペレーティングシステムの端末で実行できるコマンドを渡すために使用され、完了後に最終的にコマンドを返します。 この関数を呼び出すには、またはを含める必要があります。 構文 構文は次のとおりです- int system(char command) コマンドがエラーなしで実行された場合、この関数はゼロを返します。 例 Input: system(“date”) Output: The current d