Ich habe etwas von einer Befehlszeile, wo der Benutzer 1 Buchstabe eingibt, und wenn der Benutzer mehr als 1 Buchstaben eingibt, nimmt das Programm den ersten Buchstaben eingegeben. Wie gehe ich über das tun dies, wie das, was ich tue, scheint nicht für mich zu arbeiten:Verwenden Sie scanf() für den ersten Buchstaben
char ans, *d;
Sequence *seq = [[Sequence alloc] init];
while (k < 10) {
k++;
[seq generate];
printf("%i. %s\n\n>>> ", k, [seq.full cStringUsingEncoding:NSUTF8StringEncoding]);
scanf("%c%s", &ans, &d);
NSString *input = [NSString stringWithFormat:@"%c", ans];
if (input == seq.answer) {
correct ++;
}
}
EDIT: Ich möchte nur klarstellen, dass die ‚d‘ Variable als Platzhalter verwendet wird, damit die Eingabetaste nicht registriert wird.
, wenn Sie nur die ersten Buchstaben zu bekommen bedeutet, wie über die Verwendung von 'getch()'; – SenthilPrabhu
'getch()' ist in 'conio.h', die ich nicht habe, weil ich auf einem Mac bin. – user700352