Unicode+linux

Fermé
titif2 Messages postés 1 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 12 mars 2008 - 12 mars 2008 à 14:02
 titi2 - 13 mars 2008 à 10:19
Bonjour,

Je veux coder en C une lecture de fichier unicode je ne comprends pas trés bien pour l'instant tout ce qu'il faut faire.Faut t'il un terminal UTF8 voici mon code :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <wctype.h>
#include <wchar.h>
//#include <tchar.h>
#define _UNICODE
#include <locale.h>
#define __STDC_ISO_10646__

void main (){
typedef unsigned short wchar_t;
char *res_setlocale=setlocale (LC_ALL,"LANG=en_GB.UTF-8");
printf("%s", res_setlocale);
FILE *test;
//wchar_t mottest[20] =L"éééù$~ù'çà";
wchar_t mot[100];

//wprintf(L"%ls\n", mottest);
test=fopen("test.txt","r");
if (test==NULL) {
printf("erreur ouverture\n");
}
else{
printf("le fichier a été ouvert\n");
fwscanf(test,L"%ls\n",mot);
wprintf(L"%ls\n",mot);
fclose(test);
}
printf("fermeture du fichier\n");
}
pour l'instant ca ne marche pas je code avec notepad++? faut-il changer d'éditeur?
Merci de votre réponse!
A voir également:

2 réponses

marc[i1] Messages postés 2573 Date d'inscription vendredi 1 avril 2005 Statut Contributeur Dernière intervention 6 septembre 2008 382
12 mars 2008 à 17:04
Salut,

et si tu met tes locales en français ?
char *res_setlocale=setlocale (LC_ALL,"LANG=fr_FR.UTF-8");
0
salut,
J'ai changé la locale,j'obtiens le meme résultat au niveau du terminal
j'ai apparemment un problème de déclaration de type:
cc: "test.c", line 16: warning 604: Pointers are not assignment-compatible.
quand j'exécute en mettant en commentaire la ligne 16 (le mottest) j'obtiens ceci
le fichier a été ouvert
 ÿpé
fermeture du fichier
dans test.txt il y'a:
ééééùùù$ààà@
0