Использование Strtok, код не работает [дубликат]

На этот вопрос уже есть ответ здесь:

поведение strtok 2 ответа

Я пытаюсь использоватьstrtok(), Ниже приведен фрагмент кода, который я написал. Не работает но печатает", '" бесконечно.

#include
#include
#include

int main(){
char str[]="this, by the way, is a 'sample'";
char *tokens;
tokens = strtok(str, ", '");
//printf("%s\n",tokens);
//printf("%s\n", str);
while(tokens!=NULL)
{
    printf("%s\n", tokens);
    tokens = (NULL, ", '");
}
return 0;
}

Ниже приведен код отstrtok() страница справочника, которая прекрасно работает.

#include 
#include 

int main ()
{
  char str[] ="- This, a sample string.";
  char * pch;
  printf ("Splitting string \"%s\" into tokens:\n",str);
  pch = strtok (str," ,.-");
  while (pch != NULL)
  {
    printf ("%s\n",pch);
    pch = strtok (NULL, " ,.-");
  }
  return 0;
}

Я чувствую, что сделал то же самое. Можно'Я не могу понять причину моего кода. Может ли кто-нибудь, пожалуйста, указать.

Ответы на вопрос(1)

Ваш ответ на вопрос