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

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 * ps); 

パラメータ

関数は次のパラメータを受け入れます-

  • pwc −これは、出力を保存する場所へのポインタです。
  • str −入力として使用される文字列。
  • n −チェックするバイト数です。
  • ps −マルチバイト文字列を解釈するときの状態オブジェクトへのポインタです。

戻り値

この関数の戻り値は、次の条件によって異なります-

  • 0-変換する必要のあるstrの文字がNULLの場合、関数はゼロを返します。
  • 1…n-変換されて文字列*strに格納されるヌル終了文字のバイト数。
  • -1-これは、errnoがEILSEQに設定されている変換中にエラーが発生した場合に発生します。

 #include usingnamespace std; int main(){setlocale(LC_ALL、 "en_US.utf8"); const char * ch ="\ u0777 \ u0755"; wchar_t arr [20]; mbstate_t hold =mbstate_t(); inthighest =10; int val =mbsrtowcs(arr、&ch、highest、&hold); wcout < 

出力

ワイド文字は次のとおりです。2Givenワイド文字は次のとおりです。 

 #include usingnamespace 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(); inthighest =10; int val =mbsrtowcs(arr、&ch、highest、&hold); wcout < 

出力

合計ワイド文字は次のとおりです。3Givenワイド文字は次のとおりです:zß水



  1. 例を含むC/C ++のmbrtoc16()

    この記事では、C++STLでのstd::mbrtoc16()関数の動作、構文、および例について説明します。 std ::mbrtoc16()とは何ですか? std ::mbrtoc16()関数は、C ++ STLに組み込まれている関数であり、ヘッダーファイルで定義されています。この関数は、狭いマルチバイト文字をUTF-16文字表現に変換するために使用されます。 関連する文字ポインタがnullでなく、他のすべてのパラメータも受け入れられる場合、対応する16ビット文字を変換します。 構文 size_t mbrtoc16( char16_t* pc16, char* str, size_t n

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

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