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

C / C ++のc16rtomb()関数?


C ++では、16ビットの文字表現を使用できます。 c16rtomb()関数は、16ビット文字表現をナローマルチバイト文字表現に変換するために使用されます。この関数は、uchar.hヘッダーファイル内にあります。

この関数は3つのパラメーターを取ります。これらは-

です
  • マルチバイト文字が格納される文字列
  • 変換する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 ++の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