strtok
을 사용하여 문자열을 분할했습니다. strtok 및 strcpy 오류
[업데이트]
나는 귀하의 의견을 사용하고 아래의 새 버전에 대한 대답하지만,printf("tmp[idx] ...
가 제대로 인쇄
int Crawl :: splitUrl(char ***tmp, int max_length, char *url)
{
int idx=0;
char * p;
int i;
p = strtok (url,"/");
while (p != NULL && idx < max_length)
{
for (i=0;i<maxUrlSize-1 && p[i] != '\0';i++)
(*tmp)[idx][i] = p[i];
for (; i< maxUrlSize-1;i++)
(*tmp)[idx][i] = '\0';
printf("tmp[idx[%d]] %s\n",idx,(*tmp)[idx]);
idx++;
p = strtok (NULL, "/");
}
return idx;
};
기압 작동하지 않았다. split_url
가 비어
split_url = new char * [ maxUrlSplits ];
for (int k=0;k<maxUrlSplits;k++)
split_url[k] = new char [maxUrlSize];
arr_size = crawl->splitUrl(&split_url,maxUrlSplits,url);
배열 :
하지만 내 주에
나는 방법을 실행 한 후.컴파일러와 gdb가 정상입니다.
누군가 아이디어가 있습니까?
어떻게 배열이 비어 있다는 것을 알고 계십니까? 아무 문제없이 실행할 수 있습니다. split_url 배열이 비어 있지 않습니다. –
약간의 OT이지만 이것은 분명히 C++이기 때문에 왜 처음부터 배열을 사용합니까? – manneorama
[UPDATE] 또는 [SOLVED]와 같은 상태 업데이트를 질문 제목에 넣지 마십시오. 질문의 명확한 요약만으로도 충분합니다. 걱정하지 마십시오. 질문을 업데이트하면 누구나 볼 수 있습니다. – razlebe