IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Lecture depuis un fichiers txt


Sujet :

C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Lecture depuis un fichiers txt
    Voila mon probleme est que je voudrais lire plusieurs informations dans un fichier, mais je voudrai mettre comme un espece de marqueur pour empecher que la lecture reprenne au début du fichier.

    Je pensais aussi a supprimer la ligne apres lecture comme ca meme en reprenant le début du fichier, les données correspondent. Mais je ne sais pas comment supprimer la première ligne d'un fichier txt.

    Merci

  2. #2
    Membre actif
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Points : 204
    Points
    204
    Par défaut
    Il faut passer par un fichier intermediaire.As-tu esayer de coder quelque chose ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    ce serait de recopier le fichier1 dans le fichier2 sans copier la ligne 1 et ensuite de renommer le fichier2 en fichier1 en supprimant l'ancien fichier1

    Y'aurai pas un code exemple pour faire ca svp.

  4. #4
    Membre actif
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Points : 204
    Points
    204
    Par défaut
    Tu as tout compris !

  5. #5
    Membre actif
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Points : 204
    Points
    204
    Par défaut
    Regarde dans les anciens messages du forum et dans les tutoriaux et faqs (c et c++). Tu as tout pour y arriver !

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    y aurai pas autre chose de plus simple par hasard?

  7. #7
    Membre actif
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Points : 204
    Points
    204
    Par défaut
    Je ne vois pas !

  8. #8
    Membre actif
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Points : 204
    Points
    204
    Par défaut
    Mias il doit y avoir une solution mieux adaptée a ton probleme !

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 168
    Points : 140
    Points
    140
    Par défaut
    En faite tu as pas besoin de faire la suppression.
    Les fonctions comme Fgets se charge d'avancer le curseur au sein du fichier.


    Programme type pour lire dans un fichier et recopier :

    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
    40
    41
    42
    43
    44
    45
    46
    #include <stdio.h>
    #include <stdlib.h>
     
    //crée une constante de taille 256
    #define MAX 256
     
    int main(int argc,char* argv[]){
     
    //je pars du cas ou le nom du fichier a copier est le premier argument
    //et le nom de sortie le second
    //ex : ./recopie.out fichier_source.txt fichier_destination.txt
    //argv[0] = recopie.out
    //argv[1] =  fichier_source.txt
    //argv[2] = fichier_destination.txt
     
    //argc = le nombre d'argument contenu dans argv
    if (argc != 3){
      fprintf (stderr,"Nombre d'argument insuffisant \n");
      exit(3);
    }
     
    FILE* fichier_source ; //permet d'ouvrir le fichier
    FILE* fichier_destination ; //permet d'ouvrir le fichier
    char tampon[MAX] = "";
     
    if ( (fichier_source = fopen(argv[1],"r")) == NULL)  { 
    // le "r" sert a dit qu'on ouvre le fichier pour lire dedans
         fprintf (stderr,"Impossible d'ouvrir le fichier %s \n",argv[1]);
         exit(3);
    }
     
     
    if ( (fichier_destination = fopen(argv[2],"w+")) == NULL)  { 
    // le "w+" sert a dit qu'on ouvre le fichier pour écrire dedans et si il n'existe pas on le créait
         fprintf (stderr,"Impossible d'ouvrir le fichier %s \n",argv[1]);
         exit(3);
    }
     
     
    while(!feof(fichier_source)){ //tant qu'on arrive pas à la fin du fichier source
       fgets(tampon,MAX,fichier_source); //recopie dans tampon au plus MAX caractère du fichier source ou sinon s'arrête à la fin de la ligne
       fprintf(fichier_destination,"%s",tampon); //ecrit dans le fichier destination le tampon & "%s" dit que c'est une string qu'on ecrit
    };
     
    return EXIT_SUCCESS ;
    }
    Si dans une phrase tu cherches des arguments regarde du coté de fscanf.

  10. #10
    Membre actif
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Points : 204
    Points
    204
    Par défaut
    J'y avais pas pense !

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Ok, merci je vais me debrouillez avec ca, ca devrais marcher.

  12. #12
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    C'est du C ça, pas du C++.

    Allez plutôt voir la FAQ C++ pour avoir du code correct sur la manipulation et copie de fichiers.

  13. #13
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Mémorise la position de reprise qui te va (tellg), et retrournes-y avec un seekg.

    @ Drannor, tu t'es trompé de forum . De plus en C comme C++ on ne fais pas de lecture sur eof (mais vous apprenez ça où? ce n'est pas possible )

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 168
    Points : 140
    Points
    140
    Par défaut
    j'ai appris ça en cours de C
    Mon prof faisait un while tant que non fin de fichier.

  15. #15
    Membre actif
    Homme Profil pro
    Ingénierie des systemes embarqués temps réels
    Inscrit en
    Juin 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénierie des systemes embarqués temps réels
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2006
    Messages : 152
    Points : 231
    Points
    231
    Par défaut
    Citation Envoyé par Drannor
    j'ai appris ça en cours de C
    Mon prof faisait un while tant que non fin de fichier.
    Je veux demander a quel header fait on appel pour tellg ou seekg?

  16. #16
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Tu as tout dans <fstream> ... vu que ce sont des fonctions membre de std::ifstream.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de lecture depuis un fichier texte
    Par [Hugo] dans le forum C++
    Réponses: 12
    Dernier message: 27/10/2006, 16h46
  2. Lecture et ecriture fichier txt
    Par jeanmy dans le forum Delphi
    Réponses: 12
    Dernier message: 07/08/2006, 17h23
  3. [FLASH MX] Variables depuis un fichier txt
    Par mascagne dans le forum Flash
    Réponses: 4
    Dernier message: 01/03/2006, 17h57
  4. [debutant] lecture d'un fichier txt de 10mo
    Par karamazov994 dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 19/04/2005, 15h55
  5. Lecture depuis un fichier
    Par Wyatt dans le forum C++
    Réponses: 4
    Dernier message: 01/03/2005, 13h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo