2010-11-24 20 views
-1

「sscanfリファレンス」またはその他のさまざまなsscanf検索用語をグーグル表示すると、C sscanf関数に関する多数の利用可能な参照が表示されます。これらの参考文献の多くには、フォーマット文字列で使用できる使用可能なトークンの説明が含まれています。sscanf評価式の「[^ <]」は何を意味しますか?

私は別の開発者コード(私たちの会社ではもはや働いていない人)を探しています。フォーマット文字列には、%15[^<]のような複数のトークンがあります。私は、トークンの%15部分が参照文字列から15文字を取り、それを文字列ポインタに格納していることを知っています。私が見つけられないのは、[^<]トークンの機能を説明するドキュメントです。

複数の参照ページを調べましたが、このようなトークンへの参照が見つかりません。多分私は間違ったリンクをクリックしているだけですが、これはどういう意味ですか?さらに、sscanf(および書式文字列を持つ他のcstdio関数)は、伝統的なドキュメンテーションの概要よりも堅牢です。もしそうなら、誰かがより徹底した文書へのリンクを持っていますか?

ありがとうございます。

答えて

5

参照する必要がある参照はthe ISO standard、特にセクション7.19.6.2です。

具体的には、<ではない15文字が一致しています。

1

私が見つけた最初の参考文献(here)は必ずそれを含みます。ページを検索して[を探してください。

大括弧は、正規表現と同様に、一致する文字のグループを表現するために使用されます。最初の文字が^の場合、グループは反転されます。したがって、[^<]は、より小さい記号を除くすべての文字と一致します。

+0

これだけです。ありがとう。この使用のための動作を定義しないと、それは避けるべき – RLH

+0

あなたは、いくつかのアプリケーションは、正規表現のように、 '[^ - z]は'のような範囲式を使用しようとすることに注意する必要がありますが、Cの標準(もPOSIX)。 –

0

そのトークンは "<"以外のすべてと一致します。 XMLやHTMLパーサーのようなものでしょうか?

Windows以外のプラットフォームを使用している場合は、適切にscanfのマニュアルページにあります。それ以外の場合は、cygwinをインストールすることをお勧めします。 :)

+0

@paxdiablo私は、「Windows以外のプラットフォーム」を書く方が、マニュアルページを持つすべてのOSを一覧表示する方が簡単だと考えました。 ;-) – onemasse

+0

@paxdiablo BeOSにはマニュアルページが含まれているはずですが、CP/Mにはz/OSの場合は印刷されたドキュメントが付いてくるはずです。 –

+0

FYI、これは組み込みシステム向けです。 – RLH

関連する問題