NSFileHandle を使用してキーボード入力を読み取ることに成功しました。
NSFileHandle * keyboard = [NSFileHandle fileHandleWithStandardInput];
NSData *inputData = [keyboard availableData];
NSString * input =[[NSString alloc] initWithData:inputData encoding:NSUTF8StringEncoding];
ユーザーが入力すると、入力の最初の文字だけが画面に表示されます。たとえば、 と入力するhello
と、 のみh
が画面に表示されます。ただし、入力全体が文字列に読み込まれます。
Xcode 4.2 では、適切なエコー動作が機能します。現在、Xcode 4.5 を使用しています。
アップデート
とりあえず諦めてNSFileHandle
使ってみましたscanf
。ただし、同じエコーの問題があります。scanf
コード:
char word[4];
scanf("%s",word);
NSString * input = [[NSString alloc] initWithBytes:word length:4 encoding:NSUTF8StringEncoding];