Recuperer caracteres dans une chaine apres un mot donné
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Recuperer caracteres dans une chaine apres un mot donné



  1. #1
    floflo8885

    Recuperer caracteres dans une chaine apres un mot donné


    ------

    Bonjour,

    J'ai une chaine de caractère je recherche dans cette chaine un mot spécial et j'aurais besoin de recuperere les caractère apres ce mot.
    Exemple :

    chaine a ="bonour tu as recuperer : 1569541 pommes"

    Avec strstr je regarde si le mot "recuperer " est presént et si oui j'aurais besoin de récupérer le "1569541 ".

    Comment faire.

    Merci.

    -----

  2. #2
    floflo8885

    Re : Recuperer caracteres dans une chaine apres un mot donné

    J'oubliais je programme en langage C.

  3. #3
    bisou10

    Re : Recuperer caracteres dans une chaine apres un mot donné

    Tu peux bricoler avec strtok() ou autres, mais la vraie solution est de stocker d'abord le nombre de pommes, et de garder cette variable. Ensuite, tu peux composer toutes les chaines que tu veux, dans les langues que tu souhaites, etc...

  4. #4
    floflo8885

    Re : Recuperer caracteres dans une chaine apres un mot donné

    Le but est de stocker le nombre de pomme.

    Comment faire pour cela car il faut avec strstr que je valide bien que le mot récupérer est présent et apres je vais recueprer les caractere qui se trouve apres le mot recuperer.

    Il faudrait que je trouve la position du mot "récuperer" en PHP on peut utiliser strpos mais en C quel est l'equivalence

    Merci.

  5. A voir en vidéo sur Futura
  6. #5
    bisou10

    Re : Recuperer caracteres dans une chaine apres un mot donné

    ben strstr()... Ca retourne la position de ton occurence, donc tu sais où tu te trouves dans la chaine.

    Bien sûr c'est moisi, mais comme tu sais où se trouve 'recuperé', tu peux donc te balader dans ta chaine en jouant avec l'index.

    Ex.: tu sais que 'recupéré' est en position 12, tu ajoutes 10 (la longueur de recupéré + ':' + ' '), et tu peux commencer à lire ton nombre de pommes jusqu'à trouver ' ' ou \0.

    Tu auras donc une chaine représentation un nombre que tu peux envoyer à atoi() ou autre.

  7. #6
    Paraboloide_Hyperbolique

    Re : Recuperer caracteres dans une chaine apres un mot donné

    Bonjour,

    Pour préciser: à partir de la position trouvée par strstr, scanner les caractères et les tester avec la fonction "isdigit". Si celle-ci retourne une valeur > 0, vous avez le premier chiffre de votre nombre (et donc sa position dans la chaîne).
    Vous pouvez alors appeler "strtol" pour le convertir en décimal.

    La documentation ici:
    http://www.cplusplus.com/reference/cctype/isdigit/
    http://www.cplusplus.com/reference/cstdlib/strtol/

  8. #7
    polo974

    Re : Recuperer caracteres dans une chaine apres un mot donné

    Citation Envoyé par bisou10 Voir le message
    Tu peux bricoler avec strtok() ...
    C'est la bonne solution, il suffit de mettre " \t:." dans les séparateurs.
    Mais il ne faudra pas demander de faire correction grammaticale et orthographique (cf accord du verbe récupérer du message initial).
    De plus, il y a un risque coté encodage des accents.

    enfin, que se passe-t-il si j'envoie :
    "Tu n'as pas récupéré 500 pommes."
    "Tu as récupéré 300 bananes."
    "Tu as récupéré 1 pomme."
    "Tu as récupéré une pomme."
    ...
    Jusqu'ici tout va bien...

Discussions similaires

  1. C18 et chaine de caracteres.
    Par punky591 dans le forum Électronique
    Réponses: 11
    Dernier message: 08/10/2015, 12h03
  2. chaîne de caractères
    Par invite11df21b5 dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 30/01/2013, 19h36
  3. Récuperer une chaine de caractères d'un Fichier
    Par invite2071fa3f dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 19/01/2012, 20h13
  4. stocker dans chaque case une chaîne de caractères
    Par invite53e0a16c dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 08/03/2011, 11h26
  5. Chaine de caractères en C
    Par invite953f8104 dans le forum Électronique
    Réponses: 8
    Dernier message: 03/03/2009, 20h28