Fonction de saisie en language C (debutant)

Help! -  
 help -
Bonjour,

je cherche une fonction de saisi de commande. la commande peut prendre 3 formes:

exemple de commande:
commande:r 1 2 (separation des caracteres par un espace)
commande:t 5
commande:h

Je dois pouvoir recuperer les valeurs entrées par l'utilisateur.La premiere commande est une lettre.La commande peut comporter 1 caractere ou 1 caractere et 1 entier ou 1 caractere et 2 entiers.

Quelle solution ???
A voir également:

4 réponses

fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Re,

#include <stdio.h>

int main(){
  char buf[7];
  fgets(buf,7,stdin);
  int a,b;
  char commande;

  switch(strlen(buf)){
    case 2:
       commande=buf[0];
       break;
    case 4:
       commande=buf[0];
       a=buf[2]-'0';
       break;
    case 6:
       commande=buf[0];
       a=buf[2]-'0';
       b=buf[4]-'0';
       break;
    default: puts("choix incorrect");
  }
  
  return 0;
}


Voilou, j'espère que tu sauras tirer parti de cet exemple ;)

Cdt
1
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Salut,

Tu peux utiliser fgets(...) et ensuite fonction de la longueur de la chaine stockée dans fgets tu en déduis si tu dois utiliser
fscanf("%c %d %d",...) ou les autres.

Si, tu connais pas ces commandes, n'hésite pas à le dire, je serai plus précis ;). En tout cas, tu es en possession de l'idée lol

Cdt
0
Help!
 
je connais pa tro,
Est ce que tu peux me donner les qq lignes de code (fscanf ou fgets).
Merci d'avance
0
help
 
merci!
0