我正在递归调用一个函数,它在每次调用中分配 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;
}
}