L'équivalent de rewind

Signaler
Messages postés
10
Date d'inscription
samedi 9 février 2008
Statut
Membre
Dernière intervention
27 avril 2008
-
Messages postés
10
Date d'inscription
vendredi 14 août 2009
Statut
Membre
Dernière intervention
31 mai 2010
-
je travaille avec la bibliothèque SFML pour créer le jeu pendu et j'ai recours à la fonction rand pour affecter aléatoirement un numéro de ligne du dictionnaire et get ligne pour me donner le nombre de lignes dans le dictionnaire.En fait, le problème est qu'il me donne toujours le mot de la dernière ligne et moi je veux initialiser n à l'aide d'une fonction mais je ne trouve pas l'équivalent de rewind en C++. Et voici mon code :
std::ifstream in(

"dico.txt");

while(getline(in,mot)){

n++;

}

n=std::rand()%n;

std::ifstream in1(

"dico.txt");

while(getline(in1,motchoix)){

if((i==n)&&(motchoix!=
"\0"))mot=motchoix;

i++;

}

1 réponse

Messages postés
10
Date d'inscription
vendredi 14 août 2009
Statut
Membre
Dernière intervention
31 mai 2010

Salut,

Au début de ton code il faut initialiser le générateur de nombres avec la fonction srand();
Pour vérifier si une string est vide tu peut utiliser la méthode std::string::empty();
Dans ton cas je remplacerai (motchoix!="\0") par motchoix.size(), parcontre je ne comprend pas trop l'intérêt de la première boucle.