アセンブリでプログラムを読み、msvcrt.sscanfを見ました。sscanf を実行した後、レジスタ eax がどのように変化するかわかりません。私を手伝ってくれますか?
質問する
1218 次
1 に答える
1
関数 (ISO C の一部)の結果は、sscanf
解析中の文字列から提供された値を実際に持っている形式フィールドの数です。アセンブリ レベルでは、この値は、おそらくあなたのアーキテクチャを含む一部のアーキテクチャで EAX に返されます。多くの C プログラマーは、この値を完全に無視します。これは悪い習慣ですが、よくあることですが、確認する必要があります。ゼロは解析に失敗したことを示し、1 は「1 つのフィールドが満足できた」などを示します。
適切なフォーマットを書くのは特に簡単ではありませんが、それを読むのはそれほど難しくありません (そこにガード フィールドがある場合を除きます)。
于 2012-12-03T09:29:09.070 に答える