Lire dans un fichier texte

Résolu
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   -  
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
en faite je cherche a lire dans un fichier texte en c les caracteres l'un apres l'autre et pas tous en meme tps
par exemple
mon fichier texte contient "12322123"
et dans mon programme je voudrais lire 1 puis 2 puis 3 puis 2 etc...

j'espere que vous avez compris mon probleme ;)
A voir également:

6 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Cela n'est pas possible.
En revanche, tu peux stocker ceci dans une chaine de caractère avec fgets() par exemple. Et tu récupères les différents chiffres. tab[0], tab[1], ...
Cette méthode te convient ?

Cdt
0
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
vu que je connais pas encore fgets()
est ce que si je stock "12322123" dans un tableau et apres je fais tab[0],tab[1] pour recuperer les chiffres de façon separes
cette methode peut fonctionner aussi ?
0
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
j'ai teste mais au lieu de rentrer chaque chiffre dans une case du tableau sa met 12322123 dans chaque case donc visiblement cette methode n'est pas la bonne
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Re,
#include <stdio.h>


int main(){
  FILE *fp=fopen("ton fichier","r");
  char tmp[255]; /*ta chaine de caractère*/
  fscanf(fp,"%s",tmp); /*pour stocker dans tmp, le premier mot */

  printf("%c\n",tmp[3]); /* affichera le 4ème caractère*/
  return 0;
}


Cdt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

voici un exemple, a toi d'adapter
lami20j@debian:~/trash$ cat ccm.c
#include<stdio.h>

int main()
{
        FILE *fic;
        int c,i,nb;
        int tab[20];
        i = 0;
        if((fic = fopen("mype","r")) == NULL)
                return -1;

        while((c=fgetc(fic)) != EOF)
                if (isdigit(c))
                        tab[i++] = c - '0';
        nb= i;
        for(i=0;i<nb;++i)
                printf("%d\n",tab[i]);
        return 0;
}
lami20j@debian:~/trash$ cat mype
12322123
lami20j@debian:~/trash$ gcc ccm.c -g
lami20j@debian:~/trash$ ./a.out
1
2
3
2
2
1
2
3

0
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
merci fiddy c'est a peu pres ce que je voulais faire
0