Cocoa NSFileHandle和scanf在Xcode 4.5中不回显输入
我已成功使用NSFileHandle读取键盘输入:Cocoa NSFileHandle和scanf在Xcode 4.5中不回显输入,cocoa,console,nsfilehandle,keyboard-input,Cocoa,Console,Nsfilehandle,Keyboard Input,我已成功使用NSFileHandle读取键盘输入: NSFileHandle * keyboard = [NSFileHandle fileHandleWithStandardInput]; NSData *inputData = [keyboard availableData]; NSString * input =[[NSString alloc] initWithData:inputData encoding:NSUTF8StringEncoding]; 当用户输入时,屏幕上只回显输入的
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
。然而,也有同样的问题<代码>扫描频率代码:
char word[4];
scanf("%s",word);
NSString * input = [[NSString alloc] initWithBytes:word length:4 encoding:NSUTF8StringEncoding];
这是Xcode 4.5中的一个bug。当控制台刷新时,会显示所有回显输入。这是Xcode 4.5中的一个错误。刷新控制台时,会显示所有回显输入。您的NSLog语句是什么样子的?尝试将所有可变内容更改为非可变内容。至于回车键,substringWithRange将把它去掉。您的NSLog语句是什么样子的?尝试将所有可变内容更改为非可变内容。对于enter键,substringWithRange将其取出。