Je construis initialement un mécanisme de type index, lis chaque ligne du fichier texte en utilisant getline, vérifie si elle correspond à une déclaration d'en-tête connue (string.compare) et enregistre la position tellg en tant que index à ce point. Mon intention est alors d'utiliser seekg (index, ios :: beg) pour chercher l'endroit dans le fichier où se trouve l'en-tête. Après avoir lu le fichier une fois lors de la construction de mon index et en appelant seekg (0, ios :: beg), le prochain getline retourne une chaîne vide où je m'attends à voir la première ligne dans le fichier.Utilisation de getline lors de la lecture à partir d'un fichier texte
une partie de mon code est ci-dessous pour mieux mettre en évidence mon problème
//build the index
while (! m_fileIn.eof())
{
getline (m_fileIn,lineRead);
int lineID = getLineID(lineRead);
if(lineID==1) //if its an STRM
{
//save the index
}
}
// start reading the file data
m_fileIn.seekg(0,ios::beg);
//read first line (title)
la fonction getLineID retourne un int en fonction du résultat de la comparaison de chaînes.
est l'utilisation de getline incorrecte si j'ai besoin de relire le fichier?
Comment lisez-vous vos informations à partir du fichier après avoir généré votre index? –
J'utilise à nouveau la fonction getline – Dougie