如何在C语言中读取扫描集中的空间

如何在C语言中读取扫描集中的空间,c,C,我试图理解C语言中的扫描集 我想输入一个由字母A-Z,A-Z组成的字符串,它们之间可以有空格 示例:如果输入为:xiao biao biao biao biao 123 然后输出应该是:ABCD ABCD。 我试图通过:scanf(“%[A-ZA-Z^\n]”,c),其中c是字符数组,但它不读取空格 请提出一种方法。 在中间不能有倒置( ^ < /代码>),它必须是集合中的第一个字符,如果使用的话, 当然,您可以只在集合中包含一个空格: scanf("%[A-Za-z ]", c); 应该工作

我试图理解C语言中的扫描集

我想输入一个由字母A-Z,A-Z组成的字符串,它们之间可以有空格

示例:如果输入为:
xiao biao biao biao biao 123

然后输出应该是:
ABCD ABCD。

我试图通过:
scanf(“%[A-ZA-Z^\n]”,c)
,其中
c
是字符数组,但它不读取空格


请提出一种方法。

在中间不能有倒置(<代码> ^ < /代码>),它必须是集合中的第一个字符,如果使用的话,

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

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

应该工作。

在中间不能有反转(<代码> ^ < /代码>),它必须是集合中的第一个字符,如果使用的话,

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

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

应该有效。

try:
scanf(“%[^[0-9]\n]”,str)@GrijeshChauhan,它抓住的不仅仅是A-z和space@userXX您应该使用以避免未经邀请的缓冲区溢出。@GrijeshChauhan:虽然它工作了,但我不知道如何。您能解释一下吗?@user122345656将
^
反转,如果出现
0
9
\n
和scanf停止扫描:
scanf(%[^[0-9]\n] “,str)@GrijeshChauhan,它捕捉的不仅仅是A-z和space@userXX您应该使用以避免未经邀请的缓冲区溢出。@GrijeshChauhan:虽然它工作了,但我不知道如何。您能解释一下吗?@user122345656将
^
反转,如果出现
0
9
\n
和scanf停止扫描的符号,则丢弃