2013-03-18 4 views
4

Я новичок в C++Печать арабский строка в C++

Я хотел бы напечатать арабское заявление в C++ с использованием Borland 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(); 
} 
+0

Пожалуйста, покажите код, который вы пробовали. Кроме того, уточните, как это произошло. – wallyk

+0

#include #include силы основных() { \t clrscr(); \t char x [5] = {'ا', 'ح', 'م', 'د'}; \t для (int i = 0; i <5; i ++) \t \t cout << x [i]; \t getche(); } –

+4

Разве это не последний выпуск C++ на Borland, что-то вроде 10 лет? –

ответ

3

Если BorlandC++ под DOS

По умолчанию вы не любой набор символов, чтобы показать его как арабский. Но в те дни были приложения, которые изменяли расширенные символы ASCII на другие языки, такие как арабский, персидский, ....

шаги вы должны сделать:

  • Если вы используете Windows Vista/7 +, сначала вы должны использовать DosBox (вам нужно Fullscreen-режим)

  • Вы должны изменить ASCII по умолчанию шрифт таблицу в памяти

  • Что-то вроде vegaf.com который определяет персидский/арабский альфа-бета

Примечание: UTF-8, не определено для этой системы

-1

C++ 11 является стандартным только C++, который может предложить нативную поддержку UTF-8 (и другие) UTF кодировки кодирования.

в выпусках pre C++ 11 вы можете просто использовать библиотеку третьей части, если вам нужна поддержка UTF-8, например this one.

4

Прежде всего, вы предполагаете, что ваш исходный код может содержать арабские символы. Это очень плохая идея и зависит от предположения, что компилятор интерпретирует ваш исходный файл на той же кодовой странице, что и ваш редактор. Это

Самый безопасный способ обработки арабского или любого другого Unicode в Windows C++ заключается в компиляции с _UNICODE, объявлении переменных wchar_t (и друзей) и использовании констант Unicode, таких как '\u6041' для ваших арабских символов. Если вы должны делать что-то с помощью «char», вам придется придумать несколько байт \x последовательностей на правильной кодовой странице для ваших арабских персонажей и иметь дело с тем, что в одном char не может быть арабский символа в UTF-8.

Наконец, поскольку вы используете cout, это покажет вам только арабский язык, если текущая кодовая страница вашего окна DOS является арабской кодовой страницей.