я получаю следующее сообщение об ошибке в моей программе C
:Проблемы с Error «буфера для» в C
Writing to heap after end of help buffer
Можете ли вы сказать мне, что я не хватает?
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;
}
Исправьте форматировать код: Нажмите на ссылку 1010 и отступ для каждого код в строке 4 пространства - больше, чтобы показать отступы в коде. – PTBNL
Используйте пробелы и фигурные скобки. –
Это поможет узнать, что вы пытаетесь сделать. Например, как вы думаете, 'malloc (sizeof (path))' делает? –