YES :-) J'ai trouvé, ça marche !! :-)
Voici le code qui marche:
CODE |
int GetTotalItems(void) { char t_Line[200]; int Number=0; int ID; int Tmp; fstream fp; fp.open("ItemDatabase.dat", fstream::in); while((fp.eof())==FALSE) //Tant qu'on est pas à la fin du fichier { fp.getline(t_Line,200); ID=0; sscanf(t_Line,"%i",&ID); if(ID>=1&&ID<=400) Number++; } fp.close(); return Number; }
|
Le problème était le suivant, lorsque qu'une ligne vide était trouvée, il ne touchais pas à la valeur de ID, même chose quand il tombais sur un # car c'est pas un Int, donc ID ne bougait pas. Ce qui veut dire qu'après être tombé sur un item, ID gardait sa valeur et donc il comptait des items en trop :/
Donc voilà, j'ai rajouté ID=0; avant le scanf et ça marche :-)
Merci quand même pour votre aide!