Unicode+linux
titif2
Messages postés
1
Statut
Membre
-
titi2 -
titi2 -
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!
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:
- Unicode+linux
- Unicode facebook - Guide
- Linux reader - Télécharger - Stockage
- R-linux - Télécharger - Sauvegarde
- Toutou linux - Télécharger - Systèmes d'exploitation
- Backtrack linux - Télécharger - Sécurité
2 réponses
Salut,
et si tu met tes locales en français ?
char *res_setlocale=setlocale (LC_ALL,"LANG=fr_FR.UTF-8");
et si tu met tes locales en français ?
char *res_setlocale=setlocale (LC_ALL,"LANG=fr_FR.UTF-8");
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:
ééééùùù$ààà@
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:
ééééùùù$ààà@