如何将马拉雅拉姆语作为c / c ++程序输出打印?

时间:2015-06-21 13:04:14

标签: c winapi unicode encoding

我正在尝试将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);
}

1 个答案:

答案 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.htchar.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字符集选项。