1

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

1 回答 1

1

这是 Xcode 4.5 中的一个错误。当控制台刷新时,所有回显的输入都会显示出来。

于 2012-10-03T05:50:32.970 回答