Bonjour,
J'ai déjà fait de la programmation C mais je ne me suis jamais retrouvé devant la problématique des caractères accentués. J'ai trouvé un code permettant de faire un Dir du répertoire courant. Je compile avec Code::Blocks. Après quelques recherches j'ai appliqué l'instruction -std=c99 dans les options de compilation. Ce qui sort sur la console est correct mais ce qui est écrit dans le fichier ne l'est pas.
Voici le contenu de Liste.txt:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <stdio.h> #include <sys/types.h> #include <dirent.h> #include <stdlib.h> int main() { struct dirent *lecture; DIR *rep; rep = opendir("." ); while ((lecture = readdir(rep))) { printf("%s\n", lecture->d_name); } closedir(rep); system("Dir *.cbp > Liste.txt"); }
Avec l'instruction system("Dir *.cbp) voici le résultat dans la console, le Dir est propre mais pas ce qui précède.Le volume dans le lecteur C n'a pas de nom.
Le num‚ro de s‚rie du volume est EA59-C75F
R‚pertoire de C:\Users\xxxx\Documents\CB_2021\Cr‚ationListeTXT
19/04/2021 19:36 1ÿ086 Cr‚ationListeTXT.cbp
1 fichier(s) 1ÿ086 octets
0 R‚p(s) 802ÿ861ÿ092ÿ864 octets libres
Comment avoir le Dir correctement écrit dans le fichier ?.
..
bin
CrÚationListeTXT.cbp
CrÚationListeTXT.depend
CrÚationListeTXT.layout
Liste.txt
main.c
obj
Le volume dans le lecteur C n’a pas de nom.
Le numéro de série du volume est EA59-C75F
Répertoire de C:\Users\xxxx\Documents\CB_2021\CréationListeTXT
19/04/2021 19:36 1*086 CréationListeTXT.cbp
1 fichier(s) 1*086 octets
0 Rép(s) 802*860*306*432 octets libres
Process returned 0 (0x0) execution time : 0.039 s
Press any key to continue.
Merci pour votre aide
Olivier
Partager