Rechercher : dans
Par :

Lire dans un fichier texte

Dernière réponse le 10 nov 2007 à 23:27:01 mype, le 10 nov 2007 à 22:25:09 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « lire dans un fichier texte » dans :
[MS-Dos] Ecrire dans un fichier texte en batch VoirPour écrire dans un fichier texte, il suffit d'utiliser une redirection ">" : echo texte_à_ecrire > fichier_de_sortie.txt Pour écrire à la fin d'un texte existant (concaténation) : echo "écriture a la fin du fichier ">>...
MySQL - Chargement d'un fichier texte dans une table VoirPour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
Fichier TXT VoirFormat TXT Un fichier TXT est un fichier texte, c'est-à-dire un simple fichier contenant du texte au format ASCII. Pour ouvrir ou modifier un tel fichier, il suffit d'utiliser le bloc-notes ou un éditeur de texte traditionnel.

1

fiddy, le 10 nov 2007 à 22:32:08

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
Google is your friend

Répondre à fiddy

2

mype, le 10 nov 2007 à 22:37:52

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 ?

Répondre à mype

3

mype, le 10 nov 2007 à 22:44:47

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

Répondre à mype

4

fiddy, le 10 nov 2007 à 22:57:26

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
Google is your friend

Répondre à fiddy

5

lami20j, le 10 nov 2007 à 22:58:44

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


lami20j

Répondre à lami20j

6

 mype, le 10 nov 2007 à 23:27:01

Merci fiddy c'est a peu pres ce que je voulais faire

Répondre à mype