Я вызываю функцию рекурсивно и которая выделяет 2048 байт, выделяется в каждом вызове. Запуск приложения выполняется по требованию, но позже он становится разбитым, ошибка «Недостаточно памяти для обработки этой команды». И распределитель памяти возвращает плохой указатель памяти, для которого приложение разбивается. Скажем, кто-нибудь, пожалуйста, помогите мне по этой проблеме.Недостаточно памяти для обработки этой команды
char* parser(char *data){
char *string,*ptr,*result;
int len;
len=strlen(data);
ptr=strstr(data,"search");
if(ptr){
buf = (char *)GlobalAlloc(GPTR,sizeof(char)*len+1);
strncpy(buf,data,ptr-data);
buf[ptr-data]='\0';
result=parser(buf);
GlobalFree(buf);
return result;
}
}
Купить больше памяти? – Nick
Возможный дубликат [Системная ошибка. Код: 8. Недостаточно хранения для обработки этой команды] (http://stackoverflow.com/questions/507853/system-error-code-8-not-enough-storage-is-available-to-process- thisis -command) –