Lire dans un fichier texte

Résolu
mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   -  
mype Messages postés 2459 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 ;)
Configuration: Linux
Firefox 2.0.0.8

6 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
  2. mype Messages postés 2459 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
  3. mype Messages postés 2459 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
  4. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
  7. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    merci fiddy c'est a peu pres ce que je voulais faire
    0