Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa NSFileHandle和scanf在Xcode 4.5中不回显输入_Cocoa_Console_Nsfilehandle_Keyboard Input - Fatal编程技术网

Cocoa NSFileHandle和scanf在Xcode 4.5中不回显输入

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读取键盘输入:

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将其取出。