Lire dans un fichier texte

Résolu/Fermé
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 10 nov. 2007 à 22:25
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 10 nov. 2007 à 23:27
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
10 nov. 2007 à 22:32
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 jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
10 nov. 2007 à 22:37
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 jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
10 nov. 2007 à 22:44
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
10 nov. 2007 à 22:57
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
10 nov. 2007 à 22:58
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 jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
10 nov. 2007 à 23:27
merci fiddy c'est a peu pres ce que je voulais faire
0