Foundationを使用してObjective Cを学習し、コンソールに印刷しています。私は、文字や文字列を入力することが可能で、リターンキー(または任意のキー)を押すことなく自動的に印刷することができるかどうかを知りたいです。明らかに以下の簡単なコードでは、まだリターンキーがヒットする必要があります。私はこのコードがC & objCの間で混在していることを認識していますが、私はdiffernetのアイデアを試してきました。私もNcursesを使わずにこれをやろうとしています。前もって感謝します。リターンキーを押すことなく文字や文字列を入力する方法
char input [1];
NSLog(@"enter key:");
fgets(input, 1, stdin);
NSString *inputString = [[NSString alloc]initWithCString:input];
NSLog(@"Input = %s",input);
次のようにアイブ氏はちょうど良い答えが見つかりました: //設定し、端末をrawモードに システム( "sttyの生");
// Wait for single character
char input = getchar();
// Echo input:
// Reset terminal to normal "cooked" mode
system("stty cooked");
// And we're out of here
NSLog(@"INPUT = %c",input);
8つの質問がありますが、受け入れられず、0票が投じられました。人々は貴重な時間を優先させるべき理由を不思議に思うかもしれません。 –
@KerrekSB - 検索者用。同じ質問に答えたい人。それがあなたの後にあるなら、アップフォートを与えるかもしれません。誰もが同じように参加するわけではありません。 –
'system()'のあなたの解決策は、この場合、私の返信で言及された 'cfmakeraw()'とほとんど同じサブプロセスで完全なシェルを開始することを知っていますよね?さらに、 'stty'のマニュアルでは、rawオプションが設定するttyフラグについて言及しています。なぜなら、' tcsetattr'でそれらを設定するのはなぜですか?私は、あなたが得た答えを無視しているという気持ちがあります。 – hochl