Objective c 不按';输入';按钮
可能重复:Objective c 不按';输入';按钮,objective-c,c,console-application,Objective C,C,Console Application,可能重复: 我需要在console Objective-C应用程序中按下键盘键,而无需按下“回车”按钮 此代码仅在我按“回车”后读取按键代码 int key; key=getchar(); NSLog(@"%i", key); 我需要这样的东西,但不要按“回车”。 如何执行此操作?默认情况下,控制台处于“规范”模式,对输入进行加载处理,直到遇到新行时才将其传递给进程的打开文件描述符。您希望将stdin置于“非规范”模式,以便在字节到达时获取字节: #include <termios.h
我需要在console Objective-C应用程序中按下键盘键,而无需按下“回车”按钮 此代码仅在我按“回车”后读取按键代码
int key;
key=getchar();
NSLog(@"%i", key);
我需要这样的东西,但不要按“回车”。
如何执行此操作?默认情况下,控制台处于“规范”模式,对输入进行加载处理,直到遇到新行时才将其传递给进程的打开文件描述符。您希望将
stdin
置于“非规范”模式,以便在字节到达时获取字节:
#include <termios.h>
struct termios terminal_info;
tcgetattr(STDIN_FILENO, &terminal_info);
terminal_info.c_lflag &= ~ICANON;
tcsetattr(STDIN_FILENO, TCSANOW, terminal_info);
#包括
结构termios终端信息;
tcgetattr(标准文件号和终端信息);
终端_info.c_lflag&=~ICANON;
tcsetattr(标准文件号、TCSANOW、终端信息);
(您还应该检查tcgetattr()
和tcsetattr()
返回的错误。)