Pb en langage c aidez moi svp les programmeur

Fermé
rimounatn Messages postés 93 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 7 septembre 2010 - 17 janv. 2010 à 22:27
rimounatn Messages postés 93 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 7 septembre 2010 - 18 janv. 2010 à 03:50
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:
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:

5 réponses

Utilisateur anonyme
17 janv. 2010 à 22:38
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.
0
rimounatn Messages postés 93 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 7 septembre 2010 15
17 janv. 2010 à 22:49
bonsoir ,
merci de me repondre, mais ca ne marche pas "erreur binaire" , le + on l'utilise pas pour les chaine de caracteres je crois;(((((
0
Utilisateur anonyme
17 janv. 2010 à 23:37
Mince, j'ai mal lu ton code, je croyais que tu étais en c++... Ici ca aurait été faisable, tant pis !
0
rimounatn Messages postés 93 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 7 septembre 2010 15
18 janv. 2010 à 01:06
aidez moi svp c'est urgent
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rimounatn Messages postés 93 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 7 septembre 2010 15
18 janv. 2010 à 03:50
:-----((((((((((((((((((((((((((
0