[C++] Couper un mot
Résolu/Fermé
Leahkim
Messages postés
3081
Date d'inscription
jeudi 15 novembre 2007
Statut
Membre
Dernière intervention
2 mars 2014
-
21 août 2008 à 14:09
Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 - 21 août 2008 à 14:48
Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 - 21 août 2008 à 14:48
A voir également:
- [C++] Couper un mot
- Couper une video - Guide
- Comment couper un pdf - Guide
- Mettre un mot de passe sur un dossier - Guide
- Voir mot de passe wifi android - Guide
- Mot de passe administrateur - Guide
5 réponses
Mahmah
Messages postés
496
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
22 juin 2010
125
21 août 2008 à 14:44
21 août 2008 à 14:44
Ah mais oui mais là tu fais du vilain, tu tapes dans la mémoire qui n'est pas à toi.
M.
nomentree[ strlen( nomentree) - strlen( cod ) + 1 ] = '\0';
M.
Mahmah
Messages postés
496
Date d'inscription
lundi 17 septembre 2007
Statut
Membre
Dernière intervention
22 juin 2010
125
21 août 2008 à 14:16
21 août 2008 à 14:16
Re
Si c'est juste pour couper violemment :
(A vérifier le +1, j'oublie toujours ^^)
Ceci dit c'est du C et non du C++, acceptable quand même ?
M.
Si c'est juste pour couper violemment :
nomsortie[ strlen( nomsortie ) - strlen( cod ) + 1 ] = '\0';
(A vérifier le +1, j'oublie toujours ^^)
Ceci dit c'est du C et non du C++, acceptable quand même ?
M.
Leahkim
Messages postés
3081
Date d'inscription
jeudi 15 novembre 2007
Statut
Membre
Dernière intervention
2 mars 2014
279
21 août 2008 à 14:23
21 août 2008 à 14:23
je vais essayer et je reviens te dire ce que ça a donné
Leahkim
Messages postés
3081
Date d'inscription
jeudi 15 novembre 2007
Statut
Membre
Dernière intervention
2 mars 2014
279
21 août 2008 à 14:31
21 août 2008 à 14:31
non, ça ne marche malheuresmeent pas:
#include <stdio.h>
#include <string.h>
main()
{
char nomentree[20]="TRUC.doccod";
char nomsortie[30]="000";
char cod[4]="cod";
int size_t=0;
nomsortie[ strlen( nomentree ) - strlen( cod ) + 1 ] = '\0';
printf ("%s",nomsortie);
system("pause");
}
et le programme m'affiche 000...
une autre idee ?
#include <stdio.h>
#include <string.h>
main()
{
char nomentree[20]="TRUC.doccod";
char nomsortie[30]="000";
char cod[4]="cod";
int size_t=0;
nomsortie[ strlen( nomentree ) - strlen( cod ) + 1 ] = '\0';
printf ("%s",nomsortie);
system("pause");
}
et le programme m'affiche 000...
une autre idee ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Leahkim
Messages postés
3081
Date d'inscription
jeudi 15 novembre 2007
Statut
Membre
Dernière intervention
2 mars 2014
279
21 août 2008 à 14:48
21 août 2008 à 14:48
bon, ben j'ai toruvé une autre solution ! (CCM me fait trouver mes solutions tout seul mdr.
char nomentree[20]="TRUC.doccod";
char nomsortie[30]="000";
char cod[4]="cod";
int size_t=0;
size_t=strlen (nomentree);
strncpy(nomsortie,nomentree,(size_t-3));
printf("%s",nomsortie);
voila, j'ai donc soustrait 3 caractère a nomentree, et je l'ai mis dans nom sortie. C'est plus long, mais ça fonctionne
merci a toi !
char nomentree[20]="TRUC.doccod";
char nomsortie[30]="000";
char cod[4]="cod";
int size_t=0;
size_t=strlen (nomentree);
strncpy(nomsortie,nomentree,(size_t-3));
printf("%s",nomsortie);
voila, j'ai donc soustrait 3 caractère a nomentree, et je l'ai mis dans nom sortie. C'est plus long, mais ça fonctionne
merci a toi !