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 :

Comment faire pour afficher une partie d'une phrase


Sujet :

C

  1. #1
    Membre du Club Avatar de vantoff
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 85
    Points : 67
    Points
    67
    Par défaut Comment faire pour afficher une partie d'une phrase
    Bonjour,

    comment feriez si vous aviez une chaine de caractère comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char Phrase[50]='' Bonjour Monsieur le Dirrecteur'';
    et vous voulez affiche sur votre ecran: "Monsieur le Dir" au lieu de toute la phrase.

    Merci de votre aide

  2. #2
    Membre actif

    Étudiant
    Inscrit en
    Mai 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 200
    Points : 276
    Points
    276
    Par défaut
    il faudrait que tu précise.

    pourquoi c'est "Monsieur le Dir" que tu veut afficher et pas autre chose ???

    comment tu en arrive à la conclusion qu'il te faut afficher "Monsieur le Dir" ??

  3. #3
    Membre expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 887
    Points : 1 531
    Points
    1 531
    Par défaut
    Citation Envoyé par vantoff
    Bonjour,

    comment feriez si vous aviez une chaine de caractère comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char Phrase[50]='' Bonjour Monsieur le Dirrecteur'';
    1) Je corrigerais les fautes d'orthographes. [EDIT] et de syntaxe [/EDIT]

    2) Ca dépend. Est-ce qu'il faut supprimer le premier mot, ou bien rechercher le mot "Monsieur" ?

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    Quels sont tes critères discriminant ? N'afficher qu'un certain nombre de caractères ? N'afficher que les caractères entre le Nième et le Mième ? autre chose ?

  5. #5
    Membre averti
    Avatar de Foobar1329
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 283
    Points : 387
    Points
    387
    Par défaut
    Citation Envoyé par vantoff
    Bonjour,

    comment feriez si vous aviez une chaine de caractère comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char Phrase[50]='' Bonjour Monsieur le Directeur'';
    et vous voulez affiche sur votre ecran: "Monsieur le Dir" au lieu de toute la phrase.

    Merci de votre aide
    strncpy() si tu connais les informations positionnelles, sinon c'est du parsing et c'est plus compliqué.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    char Phrase[50]="Bonjour Monsieur le Directeur";
    char toto[50] = { '\0' };
    strncpy(toto, Phrase+8, 15);
    toto[15] = '\0'; 
    puts(toto);
    A+

  6. #6
    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 : 68
    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 vantoff
    comment feriez si vous aviez une chaine de caractère comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char Phrase[50]='' Bonjour Monsieur le Dirrecteur'';
    Déjà, je commencerais par écrire en français...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char Phrase[50]=" Bonjour, Monsieur le Directeur.";
    et vous voulez affiche sur votre ecran: "Monsieur le Dir" au lieu de toute la phrase
    Brute force :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       printf (Monsieur le Dir.\n");
    Mais si tu n'es pas satisfait de la réponse, il va falloir être plus précis dans la définition de la question. Quels sont les critères de réduction ?

  7. #7
    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 : 44
    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
    Citation Envoyé par Emmanuel Delahaye

    et vous voulez affiche sur votre ecran: "Monsieur le Dir" au lieu de toute la phrase
    Brute force :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       printf (Monsieur le Dir.\n");
    Mais si tu n'es pas satisfait de la réponse, il va falloir être plus précis dans la définition de la question. Quels sont les critères de réduction ?
    C'est drôle, j'aurais plutôt dit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("\"Monsieur le Dir\" au lieu de toute la phrase\n");

    Jc

  8. #8
    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 : 68
    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
    C'est drôle, j'aurais plutôt dit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("\"Monsieur le Dir\" au lieu de toute la phrase\n");

    Jc

  9. #9
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 589
    Points
    41 589
    Par défaut
    [ Rollback massif ]

    Bref, il s'agit soit de tronquer la chaîne (sans abimer l'original, je suppose) soit, plus général, d'en extraire une sous-chaîne...


    Moi ? Afin de m'épargner la consommation de ressources d'en faire une copie, je pense que j'aurais plus vite fait d'afficher caractères par caractère à coup de fputc() dans une boucle.

    Mais peut-être que fwrite() sur stdout marcherait tout autant (pour des char, en tout cas, pas pour des wchar_t...)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment faire pour aligner deux partie d'une table enboitée
    Par felosa dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 27/05/2008, 22h03
  2. Comment faire pour afficher les informations d'une base de donnée
    Par bonnet85 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 28/03/2008, 10h24
  3. Réponses: 2
    Dernier message: 09/08/2007, 12h08
  4. Réponses: 1
    Dernier message: 19/07/2006, 00h38
  5. Comment faire pour afficher une image ds une dbgrid
    Par totomaze dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/10/2004, 16h31

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