当试图删除/释放字符ptr而不被strtok_r
完全处理时,它给我堆栈跟踪错误。在处理完整字符串之前释放/删除strtok_r指针?
我知道不能通过常规方式释放/删除strtok_r
char ptr,而不能通过strtok_r
func完成整个字符串分隔过程。
任何人都可以告诉我如何释放一个char ptr,当它的处理由strtok_r
?
char *data = new char[temp->size()+1];//temp is of type string
copy(temp->begin(),temp->end(),data);
data[temp->size()]='\0';
count = 0;
while(pointData != NULL)
{
if(count == 0)
pointData = strtok_r(data,":",&data);
else
pointData = strtok_r(NULL,":",&data);
if(count == 5)//some condition to free data
delete[] data;// this produces stack trace error
cout<<pointdata<<endl;
count++;
}
你可以请张贴一些实际的代码?试图猜测只是很痛苦。 – Useless 2012-02-10 10:58:35