内存垃圾pj_str结构体



在分配和初始化char*并为其复制数据之后

char * uri= new char [strlen(realm) + strlen("sip:") +1]();
strcpy(uri, "sip:"); 
strcat(uri, realm);

我将这个char*传递给pj_str(char*)函数。此函数将char*转换为包含指向缓冲区及其长度的指针的pj_str_t struct

然后函数继续其逻辑并使用uri pj_str

在函数返回之前,它应该释放*uri。执行此行代码时,前两个字符包含八进制垃圾数据,否则它包含预期数据。

delete [] uri;

问题出在哪里?!

这还不够吗

delete [] uri;

最新更新