arabski alfabet dev c++ winapi

0

Mamy program:

#include <windows.h>

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    MessageBox (NULL, "بلة بلة بلة", "مرحبا", MB_ICONINFORMATION | MB_OKCANCEL);
    return 0;
}

i wychodzi jakiś bełkot; co zrobić, żeby arabskie litery wyświetlały się poprawnie?

0

Nie powinno to być powodem, ale możesz spróbować dodać 'L' przed tym bełkotem ;-)

L"مرحبا", L"بلة بلة بلة", 
0

To też zależy od systemu operacyjnego (jaki?) i w jakim trybie budujesz program (MBCS czy Unicode).

Jeśli to Unicode to zajrzyj tutaj:
http://www.i18nguy.com/unicode/c-unicode.html

0

Nie miałem doświadczenia z arabskim, ale najlepiej byłoby, gdybyś użył Unicode. W tym celu gdzieś w ustawieniach projektu powinieneś mieć ustawioną obsługę Unicode. To zdecyduje o tym, czy MessageBox spowoduje tak na prawdę wywołanie MessageBoxA (wersja ANSI) czy MessageBoxW (wersja Unicode).
Możesz też spróbować ręcznie wymusić wersję „W”:

MessageBoxW(NULL, L"هل تريد حقا لتفجير القنبلة؟", L"الجهاد", MB_ICONINFORMATION | MB_OKCANCEL);

1 użytkowników online, w tym zalogowanych: 0, gości: 1