TXT -> C++

TXT -> C++ - C++ - Programmation

Marsh Posté le 15-06-2002 à 19:18:46    

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 ???

Reply

Marsh Posté le 15-06-2002 à 19:18:46   

Reply

Marsh Posté le 15-06-2002 à 22:15:46    

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

Reply

Marsh Posté le 15-06-2002 à 23:12:56    

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
Reply

Marsh Posté le 16-06-2002 à 12:42:06    

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

Reply

Marsh Posté le 16-06-2002 à 12:56:29    

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
Reply

Marsh Posté le 16-06-2002 à 13:08:32    

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

Reply

Marsh Posté le 16-06-2002 à 13:21:12    

:)

Reply

Marsh Posté le 16-06-2002 à 16:32:52    

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

Reply

Marsh Posté le 16-06-2002 à 16:49:16    

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:

Reply

Marsh Posté le 16-06-2002 à 16:49:32    

fstream.h et string.h

Reply

Marsh Posté le 16-06-2002 à 16:49:32   

Reply

Marsh Posté le 16-06-2002 à 16:52:58    

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
Reply

Marsh Posté le 16-06-2002 à 17:47:01    

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.

Reply

Marsh Posté le 16-06-2002 à 18:31:50    

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!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed