I am trying to print Malayalam (a south Indian Language) as c/c++ program output but it shows some unfamiliar characters both in terminal and in user interface using WINAPI.
(The file "malayalam.txt" contain some Malayalam words.)
#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);
}
The example from the following link may help you fix this issue for WINAPI.
You need to find the unicode equivalent of your Malayalam word in the .txt
file you can convert it from here http://www.aksharangal.com
An example from the following page http://harikrishnanvs.blogspot.in/2011/12/printing-malayalam-as-c-program-output.html
WIN32 program to print my name in Malayalam -MessageBox
This works for windows 7, but not working in XP Create new project in visual studio 2010. File-->New-->Project-->Win32 Project Name the project click OK Finish
include header files stdafx.h
, tchar.h
.
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;
}
Please ensure that , Configuration Properties--->Character set---> Use Unicode Character Set option is selected.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With