Comment modifier une chaîne de caratères en C
Résolu/Fermé
dekl38
Messages postés
158
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
6 avril 2016
-
7 juin 2012 à 11:03
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 8 juin 2012 à 00:47
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 8 juin 2012 à 00:47
A voir également:
- Comment modifier une chaîne de caratères en C
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
- Comment modifier un pdf - Guide
- Modifier une story facebook - Guide
- Chaine tnt gratuite sur mobile - Guide
4 réponses
dekl38
Messages postés
158
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
6 avril 2016
12
7 juin 2012 à 18:21
7 juin 2012 à 18:21
j'ai finalement fait ça :
#include <stdio.h>
#include <string.h>
int main (int argc, char*argv[]){
int i,j;
int length;
char *argx;
for (i=1;i<argc;i++){
argx = argv[i];
length = strlen(argv[i]);
if (length>2){
if (argx[length-1]=='c'&& argx[(length-2)]== '.') {
argx[length-1]='o';
printf("%s ",argx);
}
}
}
printf("\n");
return 0;
}
je penserai à ce forum quand j'aurai un autre probleme, merci :)
#include <stdio.h>
#include <string.h>
int main (int argc, char*argv[]){
int i,j;
int length;
char *argx;
for (i=1;i<argc;i++){
argx = argv[i];
length = strlen(argv[i]);
if (length>2){
if (argx[length-1]=='c'&& argx[(length-2)]== '.') {
argx[length-1]='o';
printf("%s ",argx);
}
}
}
printf("\n");
return 0;
}
je penserai à ce forum quand j'aurai un autre probleme, merci :)
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
7 juin 2012 à 22:19
7 juin 2012 à 22:19
Bonjour,
Ta solution n'est pas correcte. Tu ne peux pas modifier la chaîne argv[i], si tu le fais tu t'exposes à un segfault.
Il te faut utiliser un tableau dynamique (malloc en utilisant argc et strlen(argv[i])). Tu recopieras avec strcpy. Et enfin, tu pourras utiliser ta boucle sur le tableau.
Ta solution n'est pas correcte. Tu ne peux pas modifier la chaîne argv[i], si tu le fais tu t'exposes à un segfault.
Il te faut utiliser un tableau dynamique (malloc en utilisant argc et strlen(argv[i])). Tu recopieras avec strcpy. Et enfin, tu pourras utiliser ta boucle sur le tableau.
samossaad
Messages postés
72
Date d'inscription
jeudi 13 novembre 2008
Statut
Membre
Dernière intervention
7 juin 2012
1
7 juin 2012 à 23:58
7 juin 2012 à 23:58
son programme fonctionne parfaitement pourtant
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
8 juin 2012 à 00:47
8 juin 2012 à 00:47
Effectivement, j'ai rien dit :/