我成功使用 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];