Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1710 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  lecture et écriture dans un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

lecture et écriture dans un fichier

n°2286602
rim_enis
j'aime ENIS
Posté le 17-08-2016 à 15:33:18  profilanswer
 

Bonjour à tous :)
 
j'ai essayé d'ouvrire un fichier en mode lecture et écriture en utilisant ce code :

Code :
  1. open (FIC,  "+<:utf8",  $f ) or die "erreur d'ouverture!!!.";


 
le problème est que le résultat est un fichier vide , en fait mon but est de lire le fichier puis modifier qqes lignes et afficher le résultat dans le mme fichier..
 
si quelqu'un pourra m'aider, je serai très reconnaissante ..

mood
Publicité
Posté le 17-08-2016 à 15:33:18  profilanswer
 

n°2286948
rat de com​bat
attention rongeur méchant!
Posté le 25-08-2016 à 19:15:25  profilanswer
 

Il y a quoi dans $f? En principe ça fonctionne...
 
fichier_test.txt:

Code :
  1. ligne1
  2. ligne2
  3. ligne3
Code :
  1. use strict;
  2. use warnings FATAL=>'all';
  3. use autodie;
  4.  
  5. my $f="fichier_test.txt";
  6. open (FIC, '+<:utf8', $f); #je préfère mettre des guillemets simples car il n'y a pas besoin (au contraire) d'interpréter des \n etc
  7. print while(<FIC> );
  8. close(FIC);


 

Citation :

en fait mon but est de lire le fichier puis modifier qqes lignes et afficher le résultat dans le mme fichier..


Sois prudent(e). Je ne connais pas la bonne méthode pour modifier une ligne précise sans toucher au reste du fichier. L'approche naive

Code :
  1. use strict;
  2. use warnings FATAL=>'all';
  3. use autodie;
  4.  
  5. my $f="fichier_test.txt";
  6. open (FIC, '+<:utf8', $f);
  7. print while(<FIC> );
  8. seek(FIC, 0, 0); #aller au début du fichier
  9. print FIC "ligne à insérer\n";
  10. close(FIC);

ne s'intéresse pas aux lignes, ça va remplacer les deux premières lignes et une partie de la troisième, ce n'est pas ce qu'on veux.
Je suppose qu'il y a un module tout fait pour ça, sinon (si le fichier n'est pas trop grand) on peut le mettre dans un tableau ligne par ligne, modifier comme on veut et tout réécrire.

Code :
  1. use strict;
  2. use warnings FATAL=>'all';
  3. use autodie;
  4.  
  5. my $f="fichier_test.txt";
  6. my @lignes;
  7. open (FIC, '+<:utf8', $f);
  8. push @lignes, $_ while(<FIC> );
  9. $lignes[1]="ligne à insérer\n";
  10. seek(FIC, 0, 0); #aller au début du fichier
  11. print FIC join('', @lignes);
  12. close(FIC);


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  lecture et écriture dans un fichier

 

Sujets relatifs
lecture/écriture fichier texte et conversion en données numériques[C] Ecriture/lecture de float dans un fichier
lecture et écriture dans un fichier texte en vbsLecture / écriture fichier *.ini en C
Lecture/Ecriture fichier texte vs MySQL ?[PHP] problème lecture / écriture dans un fichier
écriture et lecture de fichierprobleme de lecture/ecriture dans un fichier excel
[JAVA] Lecture/Ecriture dans un fichier texte. 
Plus de sujets relatifs à : lecture et écriture dans un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR