2012-05-18 2 views

Répondre

3

De la documentation:

...and errno shall be set to indicate the error. Utilisez perror() pour voir quelle est l'erreur. En général, errno n'est applicable que s'il y a une erreur de lecture, qui ne s'applique pas à sscanf. -1 est simplement renvoyé lorsqu'il n'y a pas d'échecs de correspondance ou de conversions. Puisque votre chaîne fmt est juste '% s', la seule raison pour laquelle je peux penser à obtenir une valeur de retour -1 est si la chaîne pointée par ptr ne contient que des espaces.

+0

Le code d'erreur sera toujours 'EINVAL', ce qui ne vous dit pas grand-chose –

1

Vous identifieriez l'erreur en vérifiant le contenu de ptr et en vérifiant que output est déclarée correctement. Les erreurs typiques sont ptr ou output étant NULL.

Vous ne recevrez plus d'informations de diagnostic de sscanf.