我正在尝试将Malayalam(南印度语)打印为c / c ++程序输出,但它使用WINAPI在终端和用户界面中显示一些不熟悉的字符。
(文件“malayalam.txt”包含一些马拉雅拉姆语单词。)
#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);
}
答案 0 :(得分:4)
以下链接中的示例可帮助您解决WINAPI的此问题。
您需要在.txt
文件中找到相当于您的马拉雅拉姆语单词的unicode,您可以从此处转换它http://www.aksharangal.com
以下页面http://harikrishnanvs.blogspot.in/2011/12/printing-malayalam-as-c-program-output.html
中的示例WIN32程序在Malayalam -MessageBox中打印我的名字
这适用于Windows 7,但不适用于XP 在visual studio 2010中创建新项目。 文件 - &gt;新建 - &gt;项目 - &gt; Win32项目 为项目命名 单击确定 完成
包含标题文件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;
}
请确保,配置属性---&gt;字符集---&gt;选择使用Unicode字符集选项。