Lire ligne précédente d'un fichier

Lire ligne précédente d'un fichier - C++ - Programmation

Marsh Posté le 27-06-2005 à 19:21:15    

Voilà je cherche à lire un fichier un texte par ligne, donc j'utilise ifstream pour la gestion du fichier et un simple GetLine pour récupérer les lignes, par contre j'ai égalemenrt besoin de revenir en arrière, et là je n'ai pas vraiment trouvé de moyen simple.
J'ai essayé d'utiliser la méthode seekg en relatif en me basant sur la longueur de la chaine mais je ne récupère pas le début de la ligne précédence, je suppose qu'il faut que j'ajoute la taille du CR/LF pour ça, mais bon, je voulais savoir s'il y avait une solution plus simple ou plus propre, rechercher le caractère '\n' peut-être ? autre ?
 
Merci par avance.

Reply

Marsh Posté le 27-06-2005 à 19:21:15   

Reply

Marsh Posté le 27-06-2005 à 19:46:26    

std::getline
 
faire des seekg en arrière, c'est très beauf. Mieux vaut tout coller dans un std::vector<std::string> dans un fichier. ou au moins mémoriser les index dans un vector pour pas avoir à faire le zouave

Reply

Marsh Posté le 27-06-2005 à 20:07:55    

C'est effectivement std::getline que j'utilise
Ok pour le vector, je m'en doutais un peu mais bon ...
Merci Taz !  
PS: quand tu parles d'index tu veux dire la valeur du "seekg" donnée par Tellg pour chaque ligne ?
vi, ça doit être ça ..

Reply

Marsh Posté le 27-06-2005 à 20:09:31    

non, ton doigt


---------------
http://www.blastmanu.info
Reply

Marsh Posté le 27-06-2005 à 20:13:09    

oui, un vecteur de streampos. et après tu reconstruis ta chaine en faisant un seek. Mais ça peut être long selon ton usage. tout mettre dans un vector (ou deque) me parait vraiment plus simple.

Reply

Marsh Posté le 27-06-2005 à 20:15:24    

C'est sensé être drôle ?
Est-ce que cela apporte au moins un debut de solution ???
Désolé mais je préfère grandement les interventions de Taz ... ;)

Reply

Marsh Posté le 27-06-2005 à 20:17:10    

Encore Merci Taz

Reply

Sujets relatifs:

Leave a Replay

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