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
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");
}
Le contenu du fichier joystick ressemble à
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
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)

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.