c - C 中 scanf 中的扫描集行为

标签 c scanf

我尝试在 scanf 中使用 scanset 做一些事情,但卡在了某个地方。

当我写作时

char s1[250];
scanf("%[A-Z]",s1);

input : AHJHkiuy
Output: AHJH

有了这个,

scanf("%[^\n]",s1);

input: abcd ABCD hie
output: abcd ABCD hie       /*that is reading white space also (till \n) */

现在我的问题是,如果我输入如下:

ABCDahaj ahajABCD ajak12347ab

并希望输出为:

ABCDahaj ahajABCD ajak

那么格式字符串应该怎么写呢?即这个scanset应该如何使用?

最佳答案

您可以稍微扩展您的示例并实现您的目标。

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

关于c - C 中 scanf 中的扫描集行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11632143/

相关文章:

c - 如何在循环中结合使用 scanf (对于非字符或字符串)来获取单个字符

android - 指向 stdio FILE 的指针出现编译器错误

mysql - HELP C 中的 TCP 服务器无法保存在 MYSQL 中!

c - 我如何在 ncurses 中使用超过 8 种颜色?

objective-c - 与 scanf 函数一起使用

c - 是否有任何函数可以从标准输入中获取无限输入字符串

c - 如何在 C 中调试宏的技术

c - 堆内存分配

c - 在 C 中使用 fscanf 跳过行的剩余部分

algorithm - 使用 sscanf(),将字符串读取到 int 数组?