2015-06-21 16 views
5

Malayalam'ı (güney Hint Dili) c/C++ program çıkışı olarak yazdırmaya çalışıyorum ancak hem terminalde hem de WINAPI kullanan kullanıcı arabiriminde bazı yabancı karakterler gösteriliyor. Malayalam c/C++ program çıkışı olarak nasıl yazdırılır?

(dosya "malayalam.txt" Bazı Malayalam sözcükleri içeren.)

#include <stdio.h> 
#include <windows.h> 

main() { 
    char s[100]; 
    FILE *fp; 
    fp = fopen("malayalam.txt", "r"); 
    if (fp == NULL) { 
     puts("Cannot open file"); 
    } 
    while (fgets(s, 100, fp) != NULL) { 
     printf("%s", s); 
     MessageBox(NULL, s, "Malayalam", MB_OK); 
    } 
    fclose(fp); 
} 
+2

Lütfen uygun etiketleri kullanın, ayrıca c/C++ yoktur c veya C++. Ve çözüm buna bağlı olarak, girişimlerinizi de bugüne kadar göndermelisiniz. –

+1

Bahsettiğiniz kodu göster. Ne istediğini anlamak zor olduğu için. –

+3

http://www.cprogramming.com/tutorial/unicode.html – Steephen

cevap

4

aşağıdaki bağlantıdan örnek size WINAPI için bu sorunu çözmeye yardımcı olabilir.

Sen Malayalam ismimi yazdırmak için WIN32 programı http://harikrishnanvs.blogspot.in/2011/12/printing-malayalam-as-c-program-output.html

şu sayfadan burada http://www.aksharangal.com

örneği onu dönüştürmek .txt dosyasında Malayalam kelimenin unicode eşdeğer bulmalıyız - MessageBox

Bu görsel stüdyoda 2010. Dosya yeni bir proje oluşturun pencereler 7 için çalışır, ancak XP çalışmıyor -> yeni -> Projesi -> Win32 Proje Adı Proje tık Tamam Finish

başlık dosyaları stdafx.h, tchar.h sayılabilir.

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, PSTR szCommandline,int iCmdshow) 
{ 
    TCHAR c[4]; 
    c[0]=3385; 
    c[1]=3376; 
    c[2]=3391; 
    c[3]='\0'; 
    TCHAR szbuffer[100]; 

    _stprintf(szbuffer,_T("%ls"),c); 
    MessageBox(NULL,szbuffer,TEXT("HELLO ALL"),0); 
    return 0; 
} 

Lütfen Yapılandırma Özellikleri ---> Karakter kümesi ---> Unicode Karakter Kümesi Kullan seçeneğinin işaretli olduğundan emin olun.

+1

'TCHAR' yerine WCHAR' veya' wchar_t' olmalıdır. '_stprintf'' _swprintf' olmalıdır. 'MessageBox'' MessageBoxW' olmalıdır. – IInspectable

İlgili konular