當使用char * str作爲第一個參數(不是分隔符字符串)時,strtok將無法正常工作。strtok不會接受:char * str
它與分配字符串的區域有什麼關係? (據我所知,這是一個只讀區域)。
在此先感謝
例如:
//char* str ="- This, a sample string."; // <---doesn't work
char str[] ="- This, a sample string."; // <---works
char delims[] = " ";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str,delims);
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, delims);
}
return 0;
我明白了。沒有意識到該功能的這種行爲。 謝謝 – bks 2010-03-27 15:41:40