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

  FORUM HardWare.fr
  Programmation
  C++

  TXT -> C++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

TXT -> C++

n°159981
peak
Posté le 15-06-2002 à 19:18:46  profilanswer
 

ben en fait je cherche un exemple (le plus simple possible) d'insertion d'une ligne d'un fichier .txt dans un programme C++ ??
 
ex:
Si mon fichier texte est nommé "Test.txt" et ke je veux entrer dans un vecteur (char V[x]) une ligne de ce fichier de longueur x ???

mood
Publicité
Posté le 15-06-2002 à 19:18:46  profilanswer
 

n°160044
lorill
Posté le 15-06-2002 à 22:15:46  profilanswer
 

euh... tu veux pas essayer d'être un peu plus clair ? parce que j'ai pas compris ce que tu veux...

n°160060
Alload
Posté le 15-06-2002 à 23:12:56  profilanswer
 

peak a écrit a écrit :

 
Si mon fichier texte est nommé "Test.txt" et ke je veux entrer dans un vecteur (char V[x]) une ligne de ce fichier de longueur x ???  




 

Code :
  1. vector<char> maphrase;
  2. //Tu ouvres le fichier
  3. ifstream file("Test.txt" );
  4. //Puis tu lis jusqu'à la fin du fichier
  5. while (!file.eof())
  6. {
  7. char c;
  8. file.read(&c, sizeof(char));
  9. maphrase.push_back(c);
  10. }


Message édité par Alload le 15-06-2002 à 23:13:04
n°160180
peak
Posté le 16-06-2002 à 12:42:06  profilanswer
 

Ok, c'est parfait!!!
 Merci. :) :)

n°160186
Majca Jala​su
Posté le 16-06-2002 à 12:56:29  profilanswer
 

euh...
 
C'est faux alload.
Il veut une ligne, pas tout le fichier...
 
De plus, vector est pratique, mais lourd.
Dans ce cas-ci, c'est totalement inutile.
 
=> ceci marcherait beacoup mieux...
 

Code :
  1. char *maphrase = new char[x];
  2.     ifstream file("Test.txt" );
  3.    
  4.     file.getline(maphrase,x+1);
  5.     file.close();
  6.    
  7. // ne pas oublier d'effacer maphrase dès que tu n'en à plus besoin
  8.     delete[] maphrase;


Message édité par Majca Jalasu le 16-06-2002 à 13:00:10
n°160189
Alload
Posté le 16-06-2002 à 13:08:32  profilanswer
 

Majca jalasu a écrit a écrit :

euh...
 
C'est faux alload.
Il veut une ligne, pas tout le fichier...



Rhooo, suffit de remplacer le while(!fie.eof()) par for(int i = 0; i < x; i++) :D

n°160192
Majca Jala​su
Posté le 16-06-2002 à 13:21:12  profilanswer
 

:)

n°160268
peak
Posté le 16-06-2002 à 16:32:52  profilanswer
 

Ouais, bon j'avais compris...
C'est juste ke je connait pas du tout les librairies.

n°160273
peak
Posté le 16-06-2002 à 16:49:16  profilanswer
 

Pour la deuxieme version de "majca jalasu", c'est marrant par ce ke kand je teste avec "file.getline(maphrase,x+1);" ça plante alors si j'enleve le +1 ça marche très bien mais ça me copie ke les x-1 premier caracteres??  
 
Comment ce fait ke pour la première version de "alload" y me copie pas le même caractère x fois?? (y'aucun compteur ki dis où j'en était à la derniere itération de ma boucle)
 
Sinon c'est cool, thx à tout les 2  :jap:

n°160274
Majca Jala​su
Posté le 16-06-2002 à 16:49:32  profilanswer
 

fstream.h et string.h

mood
Publicité
Posté le 16-06-2002 à 16:49:32  profilanswer
 

n°160276
Majca Jala​su
Posté le 16-06-2002 à 16:52:58  profilanswer
 

peak a écrit a écrit :

Pour la deuxieme version de "majca jalasu", c'est marrant par ce ke kand je teste avec "file.getline(maphrase,x+1);" ça plante alors si j'enleve le +1 ça marche très bien mais ça me copie ke les x-1 premier caracteres??  
 
Comment ce fait ke pour la première version de "alload" y me copie pas le même caractère x fois?? (y'aucun compteur ki dis où j'en était à la derniere itération de ma boucle)
 
Sinon c'est cool, thx à tout les 2  :jap:  




 
Oups ! :) mdr
 
 

Code :
  1. char *maphrase = new char[x+1];
  2.   ifstream file("Test.txt" );
  3.  
  4.   file.getline(maphrase,x+1);
  5.   file.close();

 
 
=> il manquait une place dans le vecteur... :) mdr
Désolé.
 
Pour ta deuxième question, je ne te comprends pas... Explique autrement ce qui te perturbe ;).
 
 
Majca


Message édité par Majca Jalasu le 16-06-2002 à 16:54:25
n°160291
lorill
Posté le 16-06-2002 à 17:47:01  profilanswer
 

peak a écrit a écrit :

 
Comment ce fait ke pour la première version de "alload" y me copie pas le même caractère x fois?? (y'aucun compteur ki dis où j'en était à la derniere itération de ma boucle)




 
ifstream garde la position en mémoire.

n°160297
peak
Posté le 16-06-2002 à 18:31:50  profilanswer
 

Ok, je savais pas ke ce style de truc était possible...
Je croit ke je vais allé me choper un bon petit tutorial sur "fstream.h" et je reviendrai vous dérranger plus tard avec des kestions un peux plus subtilles...
 :spookie:  
thx!


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

  TXT -> C++

 

Sujets relatifs
COMMENT CONCATENER PLUSIEURS FICHIERS TXTTransformation HTML ==> TXT Urgent !!!!!
Plus de sujets relatifs à : TXT -> C++


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)