Bonjour,
comment feriez si vous aviez une chaine de caractère comme ceci:
et vous voulez affiche sur votre ecran: "Monsieur le Dir" au lieu de toute la phrase.Code:char Phrase[50]='' Bonjour Monsieur le Dirrecteur'';
Merci de votre aide
Version imprimable
Bonjour,
comment feriez si vous aviez une chaine de caractère comme ceci:
et vous voulez affiche sur votre ecran: "Monsieur le Dir" au lieu de toute la phrase.Code:char Phrase[50]='' Bonjour Monsieur le Dirrecteur'';
Merci de votre aide
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" ??
1) Je corrigerais les fautes d'orthographes. [EDIT] et de syntaxe [/EDIT]Citation:
Envoyé par vantoff
2) Ca dépend. Est-ce qu'il faut supprimer le premier mot, ou bien rechercher le mot "Monsieur" ?
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 ?
strncpy() si tu connais les informations positionnelles, sinon c'est du parsing et c'est plus compliqué.Citation:
Envoyé par vantoff
A+Code:
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);
Déjà, je commencerais par écrire en français...Citation:
Envoyé par vantoff
Code:char Phrase[50]=" Bonjour, Monsieur le Directeur.";
Brute force :Citation:
et vous voulez affiche sur votre ecran: "Monsieur le Dir" au lieu de toute la phrase
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 ?Code:printf (Monsieur le Dir.\n");
C'est drôle, j'aurais plutôt dit :Citation:
Envoyé par Emmanuel Delahaye
:aie:Code:printf("\"Monsieur le Dir\" au lieu de toute la phrase\n");
Jc
:mouarf:Citation:
Envoyé par fearyourself
[ 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...)