Pb en langage c aidez moi svp les programmeur
rimounatn
Messages postés
93
Date d'inscription
Statut
Membre
Dernière intervention
-
rimounatn Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
rimounatn Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un projet en c (voyageur de commerce) que je dois le compléter aujourd'hui et j'ai un problème c'est que :
je veux réalisé une fonction qui prend en paramètres une 2chaines de caractères : la premiere est une chaine qui represente le nom d'un fichier (exple:idInstance.tsp) , et la deuxieme une autre chaine (exple : .tour)
ma fonction doit renvoyé une chaine construite de ces deux dernières chaine de la façon suivante:
prendre la partie juste avant le point de la 1ere chaine c'àd idInstance et la concaténé avec la deuxième chaine, de façon à avoir à la fin "idInstance.tour"
voici mon code:
strcpy(nom_final,ch1);
printf("nom_final: %s",nom_final);
et voici ce ke j'ai mis ds mon main( ):
char chaine2[]=".tour";
char chaine1[222];
strcpy(chaine1,argv[2]);
char nom_final[100];
nom_fichier(chaine1,chaine2,nom_final);
j'ai un pb "erreur de segmentation, tout va bien juste la partie du code en gras , mais moi je voi avoir une chaine contenant "idInstance.tour" contenu ds chaine_final .pourque je puisse l'utilisé au niveau de mon main pour creer un fichier ayant ce nom ;))))
g confiance en vous ;)) aidez moi SVp
j'ai un projet en c (voyageur de commerce) que je dois le compléter aujourd'hui et j'ai un problème c'est que :
je veux réalisé une fonction qui prend en paramètres une 2chaines de caractères : la premiere est une chaine qui represente le nom d'un fichier (exple:idInstance.tsp) , et la deuxieme une autre chaine (exple : .tour)
ma fonction doit renvoyé une chaine construite de ces deux dernières chaine de la façon suivante:
prendre la partie juste avant le point de la 1ere chaine c'àd idInstance et la concaténé avec la deuxième chaine, de façon à avoir à la fin "idInstance.tour"
voici mon code:
void nom_fichier(char nom_fich[],char reste_nom[],char nom_final[]) { int i=0; char ch1[] = "" ; nom_final=""; while(nom_fich[i]!='.') { i++; printf("%d",i); } strncat(ch1 ,nom_fich, i); strcat(ch1,reste_nom); printf("apres1 :%s\n" ,ch1);
strcpy(nom_final,ch1);
printf("nom_final: %s",nom_final);
}
et voici ce ke j'ai mis ds mon main( ):
char chaine2[]=".tour";
char chaine1[222];
strcpy(chaine1,argv[2]);
char nom_final[100];
nom_fichier(chaine1,chaine2,nom_final);
j'ai un pb "erreur de segmentation, tout va bien juste la partie du code en gras , mais moi je voi avoir une chaine contenant "idInstance.tour" contenu ds chaine_final .pourque je puisse l'utilisé au niveau de mon main pour creer un fichier ayant ce nom ;))))
g confiance en vous ;)) aidez moi SVp
A voir également:
- Pb en langage c aidez moi svp les programmeur
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage visual basic - Télécharger - Langages
- Langage basic gratuit - Télécharger - Édition & Programmation
5 réponses
Bonjour,
C'est que tu accedes a des espaces protégés en mémoire.
Tu dois plutot faire nom_final += ch1;
Essaye ça et dit moi ce que ca donne.
C'est que tu accedes a des espaces protégés en mémoire.
Tu dois plutot faire nom_final += ch1;
Essaye ça et dit moi ce que ca donne.
bonsoir ,
merci de me repondre, mais ca ne marche pas "erreur binaire" , le + on l'utilise pas pour les chaine de caracteres je crois;(((((
merci de me repondre, mais ca ne marche pas "erreur binaire" , le + on l'utilise pas pour les chaine de caracteres je crois;(((((
Mince, j'ai mal lu ton code, je croyais que tu étais en c++... Ici ca aurait été faisable, tant pis !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question