L'équivalent de rewind

marouamehri Messages postés 10 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 27 avril 2008 - 25 avril 2008 à 21:51
sboli Messages postés 10 Date d'inscription vendredi 14 août 2009 Statut Membre Dernière intervention 31 mai 2010 - 14 août 2009 à 07:15
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

sboli Messages postés 10 Date d'inscription vendredi 14 août 2009 Statut Membre Dernière intervention 31 mai 2010
14 août 2009 à 07:15
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.
0