我正在尝试解析格式字符串,例如1-3,5-7
. 我需要阅读 1,3 和 5,7。
我在做什么
char *dup_string;
dup_string = strdup(data);
tok = strtok(dup_string, ",");
while (tok != NULL)
{
char *rangeTok;
rangeTok = (char *)memchr(tok, "-", strlen(tok));
startpage = atoi(tok);
if(rangeTok != NULL)
{
*rangeTok++;
endpage = atoi(rangeTok);
}
else
endpage = startpage;
tok = strtok(NULL,",");
}
这里memchar
返回一个 badptr,我尝试使用strchr
which is also returned batptr
。任何想法为什么它会返回badptr
。
仅供参考,我之前尝试过:
tok = strchr(dupstring, ",");
它工作了一段时间,并开始返回badptr
。我不确定它为什么这样做。