1

高校時代の知識から。

scanf("%[^A-Z]s", input);

これは、大文字以外の任意の文字を入力できることを意味します。

しかし、入力のみの文字[AF]を受け取りたい場合、どうすればよいですか?

私の感覚では、次のように書く必要があります。

scanf("%[A-Z]s", input);

正規表現を使用しているようですが、とにかくうまくいきませんでした

だから、私がそれを実行すると

$./a.out 
asdfasdfABC 
`[]@

[] はエイリアンの文字ですが、入力できません。

4

2 に答える 2

1

この場合、次のように単純にコードを書くことができます。

    scanf("%[A-F]s", input);

これで、入力は A から F までしか運ばれなくなりました。

于 2013-10-24T15:13:28.823 に答える