-je obtenir l'erreur suivante dans mon C
programme:Problèmes avec « Tas tampon » Erreur dans C
Writing to heap after end of help buffer
Pouvez-vous me dire ce que je suis absent?
char * path_delimiter(char * path)
{
int i = 0, index = 0, size = 0, length = (int)strlen(path);
char *tmp, *ans;
for(; i < length; i++) {
if(path[i] == PATH_DELIM[0]) {
break;
}
}
i++;
size = (int)strlen(path) - i;
ans = (char*)malloc(sizeof(path));
tmp = (char*)malloc(size);
strcpy(ans,path);
ans[i-1] = END_ARRAY;
if(size > 0)
{
strcpy(tmp,&path[i]);
realloc(path,size);
strcpy(path,tmp);
}
else
{
strcpy(path,ans);
}
free(tmp);
return ans;
}
S'il vous plaît modifier pour formater votre code: Cliquez sur le lien 1010 et indenter chaque ligne de code 4 places - plus montrer indenter dans le code. – PTBNL
Utilisez les espaces et les accolades. –
Il serait utile de savoir ce que vous essayez de faire. Par exemple, que pensez-vous de 'malloc (sizeof (path))'? –