我尝试在scanf中使用scanset做一些事情但是卡在某处。
当我写
char s1[250];
scanf("%[A-Z]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
那么格式字符串应该怎么写?也就是说,该如何使用这个扫描设置?
答案 0 :(得分:5)
您可以稍微扩展您的示例并实现目标。
scanf("%[A-Za-z ]", s1);
答案 1 :(得分:1)
另一种方法是:
scanf("%[^0-9]", s1); /* Scans everything until a digit */
答案 2 :(得分:0)