IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Extraire les mots


Sujet :

C

  1. #1
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut Extraire les mots
    salut à tous,
    je susi entrain de developper, mais je bloke ici,:
    je veux savoir comment parcourir une ligne caracter par catere pour extraire les mots sachant que les mots sont separés par un espace.
    merci
    PS : je programme avec C
    Le jour est le père du labeur et la nuit est la mère des pensées.

  2. #2
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    Bonjour,

    Au vu des discussions que tu a placé dans le forum C, je ne saurais que trop te conseiller de commencer par ouvrir et lire un bon livre sur le C !

    Bonne journée.
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  3. #3
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Citation Envoyé par cyrine Voir le message
    salut à tous,
    je susi entrain de developper, mais je bloke ici,:
    je veux savoir comment parcourir une ligne caracter par catere pour extraire les mots sachant que les mots sont separés par un espace.
    merci
    PS : je programme avec C
    Sachant qu'une chaîne de caractères est représentée en mémoire par un tableaux de bytes, renseigne-toi sur le parcours des tableaux. La fin de la chaîne est marquée par un byte vide.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  4. #4
    Membre régulier Avatar de yakamoneye
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 108
    Points : 122
    Points
    122
    Par défaut
    extrait du man :
    char * fgets (char * s, int size, FILE * stream);

    fgets() lit au plus size - 1 caractères depuis stream et les place dans
    le tampon pointé par s. La lecture s’arrête après EOF ou un retour-
    chariot. Si un retour-chariot (newline) est lu, il est placé dans le
    tampon. Un octet nul « \0 » est placé à la fin de la ligne.
    chaine[i] permet d'atteindre le i+1 éme caractere.( le premier indice est le 0)
    Pourquoi les pierres carrées font elles des ronds dans l'eau ?

  5. #5
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Citation Envoyé par cyrine Voir le message
    salut à tous,
    je susi entrain de developper, mais je bloke ici,:
    je veux savoir comment parcourir une ligne caracter par catere pour extraire les mots sachant que les mots sont separés par un espace.
    merci
    PS : je programme avec C
    Si c'est une fonction de la bibliothèque standard que tu cherches, il y a strtok. Si tu veux développer une fonction perso, c'est pas bien compliqué. Commence d'abord par un programme qui parcoure la chaîne et affiche tous les mots de la chaîne (les mots sont séparés par un espace). Soit s la chaîne à découper.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    char mot[MAX_MOT];
    int i = 0, j = 0, ok = 0;
     
    while (!ok) /* Tant qu'on n'a pas encore termine */
    {
        if (s[i] == ' ' || s[i] == '\0') /* Si on rencontre un espace ou le caractere de fin de chaine */
        {
            mot[j] = '\0'; /* On termine le mot */
     
            if (j != 0) /* Et si la longueur du mot n'est pas nulle */
            {
                printf("%s\n", mot); /* On l'affiche */
                j = 0; /* Puis on repart avec un nouveau mot */
            }
     
            if (s[i] == '\0') /* Si c'etait le caractere de fin de chaine */
                ok = 1; /* On n'a plus rien a faire */
        }
        else
        {
            mot[j] = s[i]; /* On copie le caractere */
            j++; /* Et on prepare la position du prochain caractere */
        }
     
        i++;
    }
    A améliorer.

Discussions similaires

  1. Extraire les mots d'une phrase
    Par SilkyRoad dans le forum Contribuez
    Réponses: 1
    Dernier message: 24/08/2007, 17h06
  2. Extraire les mots d'un fichier texte
    Par krokmitaine dans le forum Windows Forms
    Réponses: 7
    Dernier message: 20/06/2007, 10h38
  3. Extraire les mots clés
    Par amin1425 dans le forum ASP
    Réponses: 5
    Dernier message: 08/03/2007, 14h19
  4. Extraire les mots d'une chaine
    Par hsouna dans le forum C++
    Réponses: 2
    Dernier message: 26/06/2006, 17h12
  5. Extraire les mots d'un texte
    Par krachik dans le forum C
    Réponses: 9
    Dernier message: 11/05/2006, 22h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo