Ecriture dans fichier et caractères accentués
Bonjour,
En utilisant les fonction d'entrées/sorties de la bibliothèque CLIB, je me rend compte que l'on peut saisir des caractères accentués et qu'ils peuvent par la suite s'afficher correctement sur une console Windows.
Ainsi le code :
Code:
1 2 3 4 5 6 7 8 9
| #include "ed/inc/io.h"
int main(int argc, char *argv[])
{
char chaine[32] = {0};
get_s(chaine, sizeof chaine);
printf("%s", chaine);
return 0;
} |
Produit bien ceci en console :
Citation:
André a été à l'île de Ré.<enter>
André a été à l'île de Ré.
Mais lorsque je tente d'écrire cette même chaîne dans un fichier, ce n'est pas la même chose.
Ainsi le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| #include "ed/inc/io.h"
int main(int argc, char *argv[])
{
char chaine[32] = {0};
get_s(chaine, sizeof chaine);
FILE* fichier = fopen("test.txt", "a");
fputs(chaine, fichier);
return 0;
} |
Ecrit ceci dans le fichier test.txt, si je saisis la même chaîne :
Citation:
Andr‚ a ‚t‚ … l'Œle de R‚.
Comment peut-on correctement (sous Windows pour le moment) écrire correctement des caractères accentués dans un fichier ?
La réponse est peut-être simple, mais je n'arrive pas à la trouver par moi même en recherchant dans les sujets déjà traités.
Merci.