all
Voilà, pour être original j'ai un souci avec fgets...
Déjà le morceau de code:
Code :
- t_coord saisie(signed char player, t_coup *coups)
- {
- t_coord saisie;
- int help = 0;
- char entree[2];
- saisie.x = DIM+1;
- saisie.y = DIM+1;
- while(!saisie_ok(coups, saisie, player))
- {
- printf("joueur %d coord x? ", player+1);
- fgets((char*)&entree, 2, stdin)
- printf("\n" );
- if(entree[0]=='h'||entree[0]=='H')
- {
- help++;
- saisie.x = DIM+1;
- }
- else
- saisie.x = atoi((char*)&entree);
- printf("joueur %d coord y? ", player+1);
- fgets((char*)&entree, 2, stdin)
- printf("\n" );
- if(entree[0]=='h'||entree[0]=='H')
- {
- help++;
- saisie.y = DIM+1;
- }
- else
- saisie.y = atoi((char*)&entree);
- if(help==2)
- showhint(coups, player);
- return(saisie);
- }
|
Par contre le souci, c'est qu'il ne me demande rien pour le second fgets ! Avant je faisais avec un scanf et ca marchait impeccable, par contre il faut que je puisse lire soit un int (la coordonnée), soit un char (le 'h')...
J'ai fouillé un peu dans le forum, certains disent qu'il faut flusher le buffer d'entrée, mais ça n'a pas l'air très standard...
Qqun a une solution?
Message édité par freds45 le 25-08-2003 à 11:31:11
---------------
Filmstory : gardez trace des films que vous avez vu ! :D