scan中的scanset行为
我试图在scanf中使用scanset做一些事情但是卡在某处。
我写的时候
char s1[250]; scanf("%[AZ]s",s1); input : AHJHkiuy Output: AHJH
有了这个,
scanf("%[^\n]s",s1); input: abcd ABCD hie output: abcd ABCD hie /*that is reading white space also (till \n) */
现在我的问题是,如果我提供输入:
ABCDahaj ahajABCD ajak12347ab
并希望输出为:
ABCDahaj ahajABCD ajak
那么格式字符串应该如何写? 也就是说,如何使用这个扫描设备?
您可以稍微扩展您的示例并实现您的目标。
scanf("%[A-Za-z ]", s1);
另一种方法是:
scanf("%[^0-9]", s1); /* Scans everything until a digit */