no save
Assistance
Achat
News

Forum | programmation
[langage C] segmentation fault
mamiemando, le sam. 23 sept. 2006 à 11:21:51
L'erreur de segmentation était à mon avis plutôt dûe au fait qu'il fallait écrire :
char *dst = (char *) malloc(sizeof(char)*strlen(src));
Si ton my_strcpy retourne le char *, rien ne t'empêche de faire le free dessus à l'extérieur.

#include <stdlib.h>
#include <string.h>
#include <stdio.h>

char*
my_strcpy (char* dest, const char* src) {
int i;
dest = (char *) malloc(sizeof(char)*strlen(src));
for (i = 0; src[i]!='\0'; ++i) dest[i] = src[i];
dest[i] = '\0';
return dest;
}

int main(){
char *src = "tapir",dst;
my_strcpy(dst,src);
printf("dst = %s\n",dst);
free(dst);
getchar(); // pour les windowsiens
return 0;
}
Je n'ai pas testé mais ça doit marcher ça, non ?
PrécédentBenja85
sept. 06
arth
sept. 06
Suivant
REPONSES
Char Snipeur
sept. 06
Benja85
sept. 06
carkiasis
sept. 06
Char Snipeur
sept. 06
Char Snipeur
sept. 06
Benja85
sept. 06
tafiscobar
sept. 06
Benja85
sept. 06
mamiemando
sept. 06
arth
sept. 06
Version Web
Réalisé par RedShift
no save