Bonjour
J'arrive a lire dans un fichier et a placer son contenu dans un tableau.
Le probleme est que le texte contenu dans le fichier contient des retours chariot et je ne veux pas en tenir compte.
voici le contenu du fichier texte:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 for (i=0 ; i<81 ; i++) /* boucle pour lire dans le fichier */ { if (fscanf (fichier, "%c", &y) == 1) /* lecture d'un caractère*/ { if (y!=13) /* code ascii du retour chariot */ x[i] = y; /* réussi => on le stocke */ }
----8---1
--7--9-24
---6-1---
-51---8--
----274--
4---95--3
71------5
865----32
-24------
ce que je voudrais stocker dans le tableau:
----8---1--7--9-24---6-1----51---8------274--4---95--371------5865----32-24------
voici la source entiere:
j'ai aussi remarque en mettant printf ("%d", x[i]); au lieu de printf ("%c", x[i]); que ce ne sont pas des codes ascii qui sont stocké dans y mais des codes du genre 2147348525
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 #include <stdio.h> int main () { FILE *fichier ; int i ; int x[81], y ; /* ouverture du fichier 'grille.txt' pour lecture (r) en mode texte (t) */ fichier = fopen ("grille.txt", "rt") ; /* en cas d'échec de l'ouverture, le pointeur est NULL: intercepter ce cas */ if (fichier == NULL) { /* message d'alerte et fin du programme */ printf ("Problème d'ouverture du fichier grille.txt\n") ; return 0; } for (i=0 ; i<81 ; i++) /* boucle pour lire dans le fichier */ { if (fscanf (fichier, "%c", &y) == 1) /* lecture d'un caractère*/ { if (y!=13) /* code ascii du retour chariot */ x[i] = y; /* réussi => on le stocke */ } else /* échec */ { printf ("Erreur ligne %d\n", i) ; /* message */ fclose (fichier) ; /* fermeture du fichier */ return 0; /* arrêt du programme */ } } printf ("\nVoila :\n"); /* affichage des éléments du tableau */ for (i=0 ; i<81 ; i++) printf ("%c", x[i]); fclose (fichier) ; /* fermeture du fichier */ return 0; }
merci![]()
Partager