0

ユーザーが1文字で入力するコマンドラインが多少あり、ユーザーが複数の文字を入力すると、プログラムは入力された最初の文字を取得します。私がやっていることはうまくいかないようです:

    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 ++;
        }
    }

編集: Enter キーが登録されないように、「d」変数がダミーとして使用されることを明確にしたいだけです。

4

1 に答える 1

1

< curses.h>を調べて、getch()関数の機能を確認しましたか?
参照してください: http://pubs.opengroup.org/onlinepubs/7908799/xcurses/curses.h.html Mac 用...

于 2012-04-08T00:13:02.587 に答える