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

Langage Pascal Discussion :

Lecture et écriture sur un fichier txt


Sujet :

Langage Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 14
    Par défaut Lecture et écriture sur un fichier txt
    Bonjour tout le monde,

    J'ai écrit le programme ci-dessous et à quand je l'execute il me lit le fichier txt mais quant à l'écriture il me crée le fichier mais ne m'écrit pas mes données dedans:

    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
     
    program listechainee;
     
    const
         path='C:\pascal\tp2\';
    Var
         f1, f2 :text;
         tab : array [1..1000] of integer;
         n, i : integer;
     
    begin
     
    assign (f1, path+'listechainee.txt');
    assign (f2, path+'sortie1.txt');
    reset (f1);
    rewrite(f2);
     
    i:=0;
     
    while not eof(f1) do
     
    begin
    i:= i+1;
    read (f1, tab[i]);
    write ('ligne', i:3, tab[i]:15);
    readln;
    end;
     
    begin
    n:=i;
    for i:=1 to n do
    write(f2, tab[i]);
    end;
     
    close (f1);
    close (f2);
    End.
    Avec mes remerciements pour votre aide.

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 971
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 971
    Par défaut
    Die,

    Pense à utiliser les balises code pour montrer ton code
    (Il n'y a pas à chercher longtemps dans d'autres sujets pour apprendre ce que c'est, et comment s'en servir)

    Sinon, je ne vois rien de problématique dans ton programme, à part que
    serait avantageusement remplacé par
    (sous réserve que ton fichier contienne une valeur par ligne)


    et surtout que
    soit remplacé par
    sinon les données seront écrites les unes à la suite des autres, sans séparation, ce qui entraînera l'impossibilité de les relire correctement plus tard.

    D'autre part, sécuriser le programme pour les entrées/sorties est une très bonne habitude à prendre (que se passe-t-il si le fichier f1 n'existe pas ? et s'il existe, si une des données n'est pas convertible en entier ? et pour le fichier f2, que se passe-t-il si on ne peut pas le créer ? et s'il est créé, si on ne peut pas écrire dedans [par exemple, plus de place sur le disque] ?

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 14
    Par défaut
    je te remercie pour ta réponse si rapide
    mais les données ne sont pas toujours saisies au niveau du fichier de sortie

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 971
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 971
    Par défaut
    Fie,
    Citation Envoyé par freemanqc Voir le message
    je te remercie pour ta réponse si rapide
    mais les données ne sont pas toujours saisies au niveau du fichier de sortie
    Je ne vois pas vraiment ce que tu veux dire ?

  5. #5
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    je ne vois pas de probleme dans ton code. Seulement, il faut créer le fichier listechainée.txt (tu dois y mettre des valeur pour que i soit different de 0) avant d' executer le programme.

    si tu as crée un fichier vide, ton i vaudra 0 et tu n' as donc rien à mettre dans le fichier sortie.

    Je te conseil de faire des procedure pour les differentes operations.

    si probleme persiste, explique nous plus en detail ce que tu as fait et ce que tu veux que je programme fasse.

  6. #6
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Bonjour
    @freemanqc : tu es sûr que tu ouvres ton fichier sortie1.txt une fois que le code à fini de s'executer? parce que si tu l'ouvre en cours d'excecution sans qu'il ait fini d'écrire dans le ficher tu n'auras rien dans le fichier
    Comme le dit darrylsite
    1-Verifes que ton fichier source n'est pas vide
    2-Ouvres ton fichier de sortie enfin d'execution
    Tu peux aussi mettre un "writeln(i)" pour juste voir ce que vaut i apres la lecture dans le fichier
    Cordialement

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

Discussions similaires

  1. [XL-2007] Lecture/écriture sur des fichiers fermés avec critères
    Par webisfun dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/03/2012, 10h41
  2. [XL-2007] Lecture et écriture dans un fichier .txt en VBA
    Par zanys dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/05/2011, 09h45
  3. [PERL]Prob lecture/écriture dans un fichier ".TXT"
    Par Magcom dans le forum Langage
    Réponses: 8
    Dernier message: 29/07/2010, 10h36
  4. [VB.NET]Problème de lecture et écriture sur fichier texte
    Par zouhib dans le forum Windows Forms
    Réponses: 25
    Dernier message: 23/05/2006, 15h30

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