Scinde une chaîne avec plusieurs séparateurs à l'aide de strtok en C

J'ai un problème avec le découpage d'une chaîne de caractères. Le code ci-dessous fonctionne, mais seulement si entre les chaînes sont '' (espace). Mais j'ai besoin de diviser les chaînes, même si il est tout espaces char. Est strtok() même nécessaire?

char input[1024];
char *string[3];           
int i=0;

fgets(input,1024,stdin)!='
char input[1024];
char *string[3];           
int i=0;
fgets(input,1024,stdin)!='\0')               //get input
{                                        
string[0]=strtok(input," ");               //parce first string
while(string[i]!=NULL)                     //parce others
{
printf("string [%d]=%s\n",i,string[i]);
i++;
string[i]=strtok(NULL," ");
}
'
) //get input { string[0]=strtok(input," "); //parce first string while(string[i]!=NULL) //parce others { printf("string [%d]=%s\n",i,string[i]); i++; string[i]=strtok(NULL," "); }
L'argument de strtok peut contenir autant de séparateurs que vous le souhaitez.
j'. e., strtok(input, " \t\r\n\f\v"); et strtok(NULL, " \t\r\n\f\v");.
Et votre fgets() déclaration n'est pas bon (il manque un ; trop). Si elle fait partie d'une boucle, on ne peut pas comparer à l'encontre de \0 à l'échec.
Qu'est ce que je voulais savoir, merci beaucoup.

OriginalL'auteur nocturne | 2014-10-27