Probleme avec STRCAT
Fermé
yassienrt
Messages postés
26
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
5 octobre 2010
-
16 mai 2007 à 13:29
Stupeflip Messages postés 391 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 4 décembre 2007 - 16 mai 2007 à 15:33
Stupeflip Messages postés 391 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 4 décembre 2007 - 16 mai 2007 à 15:33
2 réponses
Stupeflip
Messages postés
391
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
4 décembre 2007
94
16 mai 2007 à 13:36
16 mai 2007 à 13:36
Salut,
L'erreur se situe sur le scanf, tu mets un & et il ne faut pas.
Cependant je te conseillerais de changer aussi d'autres choses, comme par exemple le
char url[]="";
Mets plutôt une chaine avec une taille fixe maximale, sinon à quoi sert le for ? Si tu veux copier url dans nom_fichier, il te suffit de faire un strncpy ou un sprintf ça marche très bien. Voire, si tu as la case où comment le nom (ton nb à priori), tu fais directement un
nom_fichier=&url[nb];
L'erreur se situe sur le scanf, tu mets un & et il ne faut pas.
Cependant je te conseillerais de changer aussi d'autres choses, comme par exemple le
char url[]="";
Mets plutôt une chaine avec une taille fixe maximale, sinon à quoi sert le for ? Si tu veux copier url dans nom_fichier, il te suffit de faire un strncpy ou un sprintf ça marche très bien. Voire, si tu as la case où comment le nom (ton nb à priori), tu fais directement un
nom_fichier=&url[nb];
Stupeflip
Messages postés
391
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
4 décembre 2007
94
16 mai 2007 à 15:33
16 mai 2007 à 15:33
Ca donnerait plutôt quelque chose comme ça:
char url[50]; char nom_fichie[10]; printf("Donner l'emplacement du fichier :"); scanf("%s",url); nom_fichie=&url[nb];Tes mallocs sont pas trop utiles pour une taille fixe à la création, url je le mets à 50 parce que ça doit surement dépasser de 10, tmp ne sert pu de même que le for si on fait une affectation directe du pointeur.
16 mai 2007 à 13:42
16 mai 2007 à 13:54
16 mai 2007 à 14:44
par exemple : c:/doc/yassine.txt, moi je ve ke yassine.txt ctt
16 mai 2007 à 14:53
Remets le code que t'as corrigé
16 mai 2007 à 14:58
<codechar * url=(char *)malloc(10);
char* tmp ;
tmp = (char*)malloc (10);
char* nom_fichie;
nom_fichie=(char*)malloc (10);
printf("Donner l'emplacement du fichier :");
scanf("%s",url);
for(int i=nb;i<=strlen(url);i++)
{
tmp=(char*)url[i];
//nom_fichie=nom_fichie+tmp;
//myStrcat(nom_fichie,tmp);
strcat(nom_fichie,tmp);
}></code>