Bonsoir, une petite question bête, j'ai un peu honte de ne pas avoir encore trouvé...
on trouve assez facilement comment lire un entier dans une string ( FAQ - version simple et FAQ - version un peu mieux ) mais pas facile quand il y a plusieurs entiers a recuperer dans la chaine... exemple "12 5" que je veux recuperer dans deux variable a et b.. et bien s>>a>>b; ne marche pas...
voici mon code
Le contenu du fichier joystick ressemble à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 std::string nomfichier="joystick.txt"; std::string ligne; int bouton, action; // les variables... std::ifstream joy( nomfichier.c_str() ); // joy est le handle du fichier if(joy && !joy.fail()) { while ( std::getline( joy, ligne ) ) // lecture des lignes 1 a 1 { if(ligne.size()>2 && ligne.substr(0,1)!="#") { ligne >> bouton >> action; // remplissage de bouton et action. // faire des trucs... TODO fprintf(stdout,"joy[%ld]=%ld\n",bouton,action); //debug } } joy.close(); } else { fprintf(stdout,"attention : fichier options absent\n"); }
ca ne compile même pas (un vague erreur C2784 avec un texte a ralonge que je ne comprends pas et dont je vous fait grace, car je suis sur que quelqu'un ici sait comment lire deux entier dans une chaine)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 1 1 2 2 3 1 4 2 5 4 6 4 7 4 8 5
il va sans dire que je ne suis pas prêt d'utiliser les judicieux commentaires de la FAQ (2eme lien) avec "if ( s.operator >>( n ).operator void*() != 0 )
" et pourtant j'aimerai bien...
merci d'avance de votre aide.
Partager