Extraire une chaine de caractère entre "[ ]"

GeekAnonyme Messages postés 1 Statut Membre -  
Hxyp Messages postés 401 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis actuellement sur un programme de gestion d'élèves en langage C.

Il se trouve que l'utilisateur doit rentrer ses ordres en ligne de commande :

exemple : " ajouter nom prenom classe [ note ] "

sachant que l'entrée de la note est facultative. Mon problème est le suivant :

comment extraire la note ( qui sera donc une chaine de caractères ) des crochets puis la convertir en float ?

J'ai jusqu'ici utilisé la fonction strtok () , mais la je bloque car je n'arrive pas à savoir comment détecter le " ] " et extraire ce qu'il y a avant !

Existe-t-il une fonction magique qui peut faire ça ?

Merci par avance de votre aide !

1 réponse

  1. Hxyp Messages postés 401 Date d'inscription   Statut Membre Dernière intervention   54
     
    Bonjour, faites une boucle sur la chaine et utiliser une condition,
    for(i=0;chaine[i];i++) if(chaine[i]==']') { faire quelque chose }
    une fois la valeur isolée vous pouvez utiliser strtod pour convertir en double
    0