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 :

Recherche de mot...


Sujet :

C

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 67
    Points : 38
    Points
    38
    Par défaut Recherche de mot...
    Bonjour je suis débutant et je doit faire un programme qui permet de faire la recherche d'un mot dans un texte et ensuite de le remplacer. Et le problème est que je ne sais pas du tout par ou commencer...
    Si quelqu'un aurai des pistes a me proposer svp !!

  2. #2
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut
    Salut et bienvenue sur les forums de Developpez

    Fais de ton mieux et postes ton code si tu as des questions.
    Une piste : utilises la fonction strstr()

    Nas'

  3. #3
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    C'est un problème plutôt algorithmique que C pour l'instqnt...

    Si tu dois le faire en C,

    En supposant que la casse (majuscule/minuscule) importe:

    Voici l'algorithme que tu pourrais utiliser:

    - Utiliser la fonction strstr pour trouver le mot
    - Si on trouve le mot, décaler le texte si nécessaire et modifier le mot

    Par contre, si tu es sous linux/unix:

    - Ecrire le texte dans un fichier temporaire
    - Utiliser sed pour modifier le texte
    - Recuperer le nouveau texte et detruit le fichier...

    Inconvénient de cette deuxième méthode, elle n'est pas standard C et donc pas portable (surtout sous windows...)


    Comme tu vois, il y a plusieurs solutions...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 67
    Points : 38
    Points
    38
    Par défaut
    En fait mon problème serai plutot sur la façon de parcourir le texte pour trouver le mot rentré par l'utilisateur et remplacer chacune des occurences de ce mot par un deuxieme mot également saisie...

    Merci pour la bienvenue
    ps : sinon je code sous visual

  5. #5
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    ps : sinon je code sous visual
    Heureusement que t'es dans le forum C... Je sens qu'un modérateur va bouger ce thread bientôt...

  6. #6
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut
    Citation Envoyé par matthedemon
    En fait mon problème serai plutot sur la façon de parcourir le texte pour trouver le mot rentré par l'utilisateur et remplacer chacune des occurences de ce mot par un deuxieme mot également saisie...
    La fonction strstr() te permet de chercher la première occurence d'une chaine dans une autre chaine et renvoie un pointeur sur la première lettre de ce mot.
    Ensuite, tu récupères la taille du mot à trouver et tu enregistre la position avec un pointeur temporaire. Puis tu places le pointeur à la fin du mot trouvé. Et tu copies la chaine (donc à partir de la première lettre qui n'appartient plus au mot trouvé). Puis tu reviens à la position du mot trouvé (grâce au pointeur temporaire) et tu colles le nouveau mot. Et là, tu recoles la chaine que t'avais copié précédemment.
    Si il faut faire ça pour toutes les occurences, utilises une boucle.
    J'espère que c'est clair. Essaye de coder ce que tu peux

    Nas'

  7. #7
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut
    Citation Envoyé par fearyourself
    Heureusement que t'es dans le forum C... Je sens qu'un modérateur va bouger ce thread bientôt...
    : On peut coder en C avec Visual

    Nas'

  8. #8
    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
    On peut faire du C sous Visual, il suffit de mettre la bonne extension au départ, de ne pas créer un projet mais de sauver un fichier au départ texte avec l'extension .c et au moment de la compilation Visual crée le projet adapté.
    Pour ton problème, il te faut par exemple pour une ligne de texte, deux tableaux de caractères, l'un pour l'originale, l'autre pour la modifée, tu utilises strstr sur la ligne originale, cette fonction te fournit un pointeur sur la première occurence du mot recherché, tu recopies tout ce qu'il y a avant dans la nouvelle ligne, tu remplaces, le mot cherché par le nouveau mot, tu fixes le début de l'ancienne ligne juste après l'ancien mot (pour ne recopier qu'à partir de cet endroit) et tu recommences la recherche.
    J'espère avoir été clair.
    "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

  9. #9
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Trap D
    On peut faire du C sous Visual, il suffit de mettre la bonne extension au départ, de ne pas créer un projet
    Argh! Non ! Créer un projet console 'C'...
    Pas de Wi-Fi à la maison : CPL

  10. #10
    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
    J'ai toujours fait comme ça et ça fonctionne très bien.
    Ceci dit, on peut sans doute faire autrement. 8)
    "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

  11. #11
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Trap D
    J'ai toujours fait comme ça et ça fonctionne très bien.
    : Et quand tu as plusieurs fichiers sources :
    Pas de Wi-Fi à la maison : CPL

  12. #12
    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
    Et bien je les ajoute au fur et à mesure, dans le projet créé par défaut.

    En fait, je faisais de véritables applis en C il y a une dizaine d'années, je travaillais sous OS2. Depuis quelques années, les projets que je fais sont sous Windows en C++ (hé oui, j'ai honte ). Les rares fois où je fais des projets en C, c'est pour m'amuser donc je pars de rien et je les fais comme j'ai indiqué, je n'ai jamais creusé la question.
    "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

  13. #13
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Personnelement, je trouve que programmer en C sous Visual est un peu bizarre parce que je n'ai jamais vraiment réussi à faire les appels systèmes de bases ou les fonctions vraiment de bas niveau...

    J'avoue que cela fait bien longtemps que je n'ai plus tenté, premièrement parce que ma version de Visual était une version Introduction et deuxièmement je tourne quasi-exclusivement sous linux (les rares fois que je vais sous Windows c'est pour faire une LAN chez des potes...) donc je n'ai plus étudié la question...

    Je m'excuse donc de ma blague:

    Heureusement que t'es dans le forum C... Je sens qu'un modérateur va bouger ce thread bientôt...

  14. #14
    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
    Tu n'as pas à t'excuser
    "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

  15. #15
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par fearyourself
    Personnelement, je trouve que programmer en C sous Visual est un peu bizarre
    Visual C++6 est un excellent compilateur pour faire du C ou du C++, que ce soit en GUI ou en mode console. Le debogueur notamment est très performant et très solide. Le code généré est aussi très efficace.

    Code:Blocks s'en rapproche fortement.
    Pas de Wi-Fi à la maison : CPL

  16. #16
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Visual C++6 est un excellent compilateur pour faire du C ou du C++, que ce soit en GUI ou en mode console
    Ahhh, je ne dis pas vraiment le contraire... Mais depuis quelques années j'ai du mal à me sortir de mon bon vi ou emacs et les fenêtres multiples...

    Ne pensais pas que je sois trop contre windows... Vu que je passe mes journées sur linux je suppose qu'on s'y attache au pinguoin...

    Jc

    PS: Je n'ai jamais tenté Code:Blocks mais la seule raison pour laquelle je retournerais sous windows pour programmer sous windows serait qu'un patron me le demande (et encore faudrait qu'il se batte un peu!) ou que je travaille sur un projet Windows... Et vu que je suis plutôt OpenGL que DirectX, cela prendra encore un peu de temps!
    Bref, on s'égare... C'est le soir...

Discussions similaires

  1. Recherche sur mots de 3 lettres
    Par mamizo dans le forum Bases de données
    Réponses: 7
    Dernier message: 16/02/2005, 14h59
  2. [TP]Recherche de mots dans un Doc.
    Par Loceka dans le forum Turbo Pascal
    Réponses: 8
    Dernier message: 04/10/2004, 19h04
  3. Recherche des mots contenant ...
    Par Asdorve dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/06/2004, 10h23
  4. Réponses: 10
    Dernier message: 22/05/2004, 13h51
  5. Recherche multi-mots sur une seule colonne
    Par Badiste dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/03/2004, 11h24

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