5

我是 C++ 的初学者

我想使用 Borland C 在 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 (和朋友)的变量,并使用 Unicode 常量,如'\u6041'阿拉伯字符。如果你必须用'char'做事,你必须在正确的代码页\x中为你的阿拉伯字符提供多字节序列,并处理单个不能保存 UTF- 中的阿拉伯字符的事实。 8.char

最后,由于您使用的是 cout,因此仅当您的 DOS 框的当前代码页是阿拉伯语代码页时,它才会向您显示阿拉伯语。

于 2013-03-18T20:59:23.040 回答
3

如果你的 BorlandC++ 在 DOS 下

默认情况下,您没有任何字符集将其显示为阿拉伯语。但是那些日子里,有些应用程序可以将扩展的 ASCII 字符更改为其他语言,例如阿拉伯语、波斯语……。

你应该做的步骤:

  • 如果您使用的是 Windows Vista/7+,首先您应该使用 DosBox(您需要全屏模式)

  • 您必须更改内存中的默认 ASCII 字体表

  • 类似vegaf.com定义波斯语/阿拉伯语 alpha-beta 的东西

注意:此系统未定义 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 回答