-2

戻り値が -1 になる原因となったエラーの種類を特定する方法は?

元:

a = sscanf(ptr, "%s",output);
printf("%d",a);

出力:

-1
4

2 に答える 2

3

ドキュメントから:

...and errno shall be set to indicate the error.

perror()エラーの内容を確認するために使用します。通常、errno は、sscanf には適用されない読み取りエラーがある場合にのみ適用されます。一致の失敗または変換がない場合は、単純に -1 が返されます。あなたの fmt 文字列は単に '%s' であるため、-1 の戻り値を取得する唯一の理由は、ptr が指す文字列に空白のみが含まれている場合です。

于 2012-05-18T13:42:30.310 に答える
1

ptrの内容を確認し、output正しく宣言されていることを確認することで、エラーを特定します。典型的なエラーはptrまたはです。outputNULL

からこれ以上診断情報を取得することはありませんsscanf

于 2012-05-18T13:42:35.720 に答える