如何用C语言读取scanset中的空间

时间:2013-07-02 10:24:52

标签: c

我想了解C中的scanset。

我想输入由字母A-Z,a-z组成的字符串,并且可以在它之间有空格。

示例:如果输入为:ABCD abcd 123

然后输出应为:ABCD abcd.

我尝试通过以下方式执行此操作:scanf("%[A-ZA-Z^\n]",c),其中c是char数组,但它不读取空格。

请建议一种方法。

1 个答案:

答案 0 :(得分:5)

你不能在中间进行反转(^),它必须是集合中的第一个字符(如果使用的话)。

您当然可以在集合中包含一个空格:

scanf("%[A-Za-z ]", c);

应该有用。