#含める int main(int argc、char * argv []){const char * exp = "10-2 3 * 5"; char tok [255]; sscanf(exp、 "%[^ - * / ^]"、tok); printf( "%s \ n"、tok); sscanf(exp、 "%[^ - * / ^]"、tok); printf( "%s \ n"、tok); 0を返します。 }
0
0
1 Answer
2
ハイフンを `[…]`セットの最後に置きます。 これは正規表現に似ています。
sscanfの %[…]`フォーマットは範囲を受け入れます。 範囲は次のように使うことができます: `%[a-z]
普通のハイフンとの一致を区別するためには、それを最後に置く必要があります。そのため、範囲としては解釈されません。
あなたはhttp://www.freebsd.org/cgi/man.cgi?query=sscanfでより多くのドキュメンテーションを見つけることができます `[`パターンが記述されているセクションまでスクロールします。