La segmentation des chaînes en C

J'ai essayé de marquer une chaîne de caractères en utilisant l'ESPACE comme délimiteur, mais il ne fonctionne pas. Ce que quelqu'un a une suggestion sur pourquoi ça ne marche pas?

Edit: la segmentation à l'aide de:

strtok(string, " ");

Le code est comme suit

pch = strtok (str," ");
while (pch != NULL)
{
  printf ("%s\n",pch);
  pch = strtok (NULL, " ");
}
  • Êtes-vous à l'aide de strtok ou quelque chose que vous avez grandi vous-même? cplusplus.com/reference/clibrary/cstring/strtok.html Si vous utilisez strtok êtes-vous essayer de le faire sur une chaîne constante?
  • votre exemple obtenir le premier jeton, regardez soit gbjbaanb ou mes réponses pour une utilisation correcte.
  • OK. Maintenant que nous obtenons quelque part. Ce comportement pensez-vous que vous n'obtenez pas?
  • Votre code est correct, s'il vous plaît laissez-nous savoir ce que votre chaîne d'entrée et le résultat est.
  • BTW, kombo. Beaucoup de gens qui travaillent à l'aide d'un bureau ou d'enseigner à voir la phrase "ça ne fonctionne pas" comme marquant un utilisateur qui n'a pas lu la remise d'un manuel, ou ne savent pas ce qu'ils veulent réellement, ou est profondément troublé. La forme que vous voulez, c'est "je fais X, et je m'attendais à Y, mais j'ai eu Z. Quel est le problème?"
  • bon point. Canonique x-ref: catb.org/~esr/faqs/smart-questions.html

InformationsquelleAutor kombo | 2008-11-05