Comment modifier une chaîne de caratères en C
Résolu
dekl38
Messages postés
158
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaite créer un programe qui va analyser une chaîne de caractères et si il trouve un .c le transforme en .o
Mon problème est que je ne sais pas comment analyser et modifier une chaîne de caractères, pouvez-vous m'aider ?
merci :)
pour le moment je n'ai que ça :
#include <stdio.h>
int main (int argc, char*argv[]){
int i;
int nbarg;
for (i=1;i<argc;i++){
Je souhaite créer un programe qui va analyser une chaîne de caractères et si il trouve un .c le transforme en .o
Mon problème est que je ne sais pas comment analyser et modifier une chaîne de caractères, pouvez-vous m'aider ?
merci :)
pour le moment je n'ai que ça :
#include <stdio.h>
int main (int argc, char*argv[]){
int i;
int nbarg;
for (i=1;i<argc;i++){
A voir également:
- Comment modifier une chaîne de caratères en C
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
- Comment modifier une story sur facebook - Guide
- Chaine tnt gratuite sur mobile - Guide
- Plus de chaine tv - Guide
4 réponses
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 :)
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.