Strtok-Nutzung, Code funktioniert nicht [duplizieren]

Diese Frage hat hier bereits eine Antwort:

strtok Verhalten 2 Antworten

Ich versuche es zu benutzenstrtok(). Es folgt der Code, den ich geschrieben habe. Es funktioniert nicht aber druckt", '" unendlich.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

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;
}

Es folgt der Code von astrtok() Handbuchseite, die einwandfrei funktioniert.

#include <stdio.h>
#include <string.h>

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;
}

Ich habe das Gefühl, genau dasselbe getan zu haben. Ich kann den Fehler in meinem Code nicht herausfinden. Könnte jemand bitte darauf hinweisen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage