5

私はC++の初心者です

BorlandCを使用してC++でアラビア語のステートメントを印刷したいのですが、失敗しました。ファイルをUTF-8として保存しようとしましたが、役に立ちませんでした。

したがって、これについて、または問題が何であるか、またはアラビア語を印刷するようにコンパイラを構成する方法について誰かが知っている場合は、私を助けてください。

#include<iostram.h>
#include<conio.h>
void main()
{
   clrscr();
   char x [5] = {'ا','ح','م','د'};
   for(int i = 0; i< 5; i++)
       cout << x[i];
   getche();
}
4

3 に答える 3

4

まず、ソース コードにアラビア文字を含めることができると想定しています。これは非常に悪い考えであり、エディターが書き込んでいるのと同じコード ページでコンパイラーがソース ファイルを解釈しているという前提に依存しています。

Windows C++ でアラビア語またはその他の任意の Unicode を処理する最も安全な方法は、_UNICODE を使用してコンパイルし、wchar_t (およびその仲間) の変数を宣言'\u6041'し、アラビア文字のような Unicode 定数を使用することです。'char' を使用する必要がある場合は、アラビア語文字の正しいコード ページで\xマルチバイトシーケンスを考え出す必要があります。 8.char

最後に、cout を使用しているため、DOS ボックスの現在のコード ページがアラビア語のコード ページである場合にのみアラビア語が表示されます。

于 2013-03-18T20:59:23.040 に答える
3

BorlandC++ が DOS の場合

デフォルトでは、アラビア語として表示する文字セットはありません。しかし、当時は、拡張 ASCII 文字をアラビア語、ペルシャ語などの他の言語に変換するアプリケーションがありました。

必要な手順:

  • Windows Vista/7 以降を使用している場合は、最初に DosBox を使用する必要があります (フルスクリーン モードが必要です)。

  • メモリ内のデフォルトの ASCII フォント テーブルを変更する必要があります

  • vegaf.comペルシア語/アラビア語のアルファベータを定義するようなもの

注: このシステムでは UTF-8 は定義されていません

于 2013-03-18T20:50:21.580 に答える
-1

C++11 は、UTF-8 (およびその他の UTF 文字セット) エンコーディングのネイティブ サポートを提供できる唯一の C++ 標準です。

C++11 より前のリリースでは、このような UTF-8 サポートが必要な場合は、単純にサード パーティ ライブラリを使用できます。

于 2013-03-18T20:55:58.620 に答える