oui c'est builder mais personne n'est parfait,
en fait pour plus de clarté mon problème est de lire un fichier en mémoire ligne par ligne, mon code (humble) est le suivant :
zone_text est un vector<char *>
//-
bool ChargeFichier_Tab::Charger_Fichier(string Fichier){
if(loading)
zone_text->reserve(SSIZE);
NomFichier = Fichier;
inout->open((char *)NomFichier.data(),ios_base::in);
char * tmp = new char[CHAR_BUFF_MAX_LENGTH];
int i=0;
while(!inout->eof()){
debLigne.push_back(inout->tellg()); //un "pointeur" sur chaque debut de ligne.
inout->getline(tmp,CHAR_BUFF_MAX_LENGTH);
char * zone = new char[strlen(tmp)+1];
zone_text->push_back(strcpy(zone,tmp));
++i;
}
NbLigne = i;
debLigne.push_back(inout->tellg());
//derniere ligne.
delete [] tmp;
return true;
}
//-
je stocke dans mon vector chaque ligne lue mais si mon fichier vaut : "1\n2\n\n3\n\n\n4"
il me fabrique les lignes suivantes :
1
2
3
4
mon prog a "oublier" une ligne "vide"
là, je comprend pas ....