Lire ligne précédente d'un fichier - C++ - Programmation
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
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 ..
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.
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 ...
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.