Scan-Set-Verhalten beim Scanf in C

Ich habe versucht, ein paar Sachen mit scanset in scanf zu machen, bin aber irgendwo hängen geblieben.

wenn ich schreibe

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

input : AHJHkiuy
Output: AHJH

und damit

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

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

Nun ist meine Frage, ob ich als Input gebe:

ABCDahaj ahajABCD ajak12347ab

und möchte die Ausgabe als:

ABCDahaj ahajABCD ajak

Wie soll dann der Formatstring geschrieben werden? Das heißt, wie soll dieses Scanset verwendet werden?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage