Estoy tratando de imprimir Malayalam (un idioma del sur de la India) como salida del programa c/c++ pero muestra algunos caracteres desconocidos tanto en la terminal como en la interfaz de usuario usando WINAPI.
(El archivo "malayalam.txt" contiene algunas palabras en malayalam).
#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); }El ejemplo del siguiente enlace puede ayudarlo a solucionar este problema para WINAPI.
Debe encontrar el equivalente unicode de su palabra malayalam en el archivo .txt , puede convertirlo desde aquí http://www.aksharangal.com
Un ejemplo de la siguiente página http://harikrishnanvs.blogspot.in/2011/12/printing-malayalam-as-c-program-output.html
Programa WIN32 para imprimir mi nombre en Malayalam -MessageBox
Esto funciona para Windows 7, pero no funciona en XP Cree un nuevo proyecto en Visual Studio 2010. Archivo-->Nuevo-->Proyecto-->Proyecto Win32 Asigne un nombre al proyecto, haga clic en Aceptar Finalizar
incluir archivos de encabezado 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; }Asegúrese de que esté seleccionada la opción Propiedades de configuración--->Juego de caracteres---> Usar juego de caracteres Unicode.