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 ???
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. fiddy Messages postés 441 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
  2. fiddy Messages postés 441 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
  3. Help!
     
    je connais pa tro,
    Est ce que tu peux me donner les qq lignes de code (fscanf ou fgets).
    Merci d'avance
    0