NSFileHandle和scanf在Xcode 4.5

问题描述:

不附和输入我成功地使用NSFileHandle读取键盘输入:NSFileHandle和scanf在Xcode 4.5

NSFileHandle * keyboard = [NSFileHandle fileHandleWithStandardInput]; 
NSData *inputData = [keyboard availableData]; 
NSString * input =[[NSString alloc] initWithData:inputData encoding:NSUTF8StringEncoding]; 

当用户类型,只有输入的第一个字符在屏幕上显示。例如,如果我键入hello,屏幕上只回显h。然而,完整的输入被读入字符串。

正确的回声行为在Xcode 4.2中起作用。我目前正在使用Xcode 4.5。

UPDATE

NSFileHandle放弃现在,我试图用scanf。然而,也有相同的回应问题。 scanf代码:

char word[4]; 
scanf("%s",word); 
NSString * input = [[NSString alloc] initWithBytes:word length:4 encoding:NSUTF8StringEncoding]; 
+0

你的NSLog语句是什么样的?尝试将所有可变的东西改为不可变的。至于输入键,substringWithRange会将其取出。 – fiacobelli

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

+0

Xcode 4.5.1修复了这个bug。 – soundsmitten