我有这个程序C,读取输入如下:
cod1 = getch ();
if (kbhit())
cod2 = getch ();
Run Code Online (Sandbox Code Playgroud)
我可以阅读每个Ctrl+ Char可能的序列,除了Ctrl+ C,关闭程序 - 这是好的,Ctrl+ S,这个简单的不是捕获.但我想让Ctrl+ S成为我程序中的保存功能; 我怎么能这样做?此外,是否可以阅读Alt+ Char字符?因为它将其作为常规字符读取,例如,Alt+ A使用相同的代码读取A.
您的问题是输入可能被终端模拟器吃掉了.
例如Alt+<Whatever>,通常保留用于菜单快捷方式(例如Alt+F打开File菜单).一旦你持有Alt(F强调了File),匹配的字符通常是高亮的.
Ctrl+S 保留了Stops all output on screen (XOFF)(再次终端仿真程序这一点).
至于Alt+<...>在命令行应用程序中使用快捷方式.就我而言,持有Alt不会影响收到的字符,它只是设置在控制台中难以访问的标志.即使在GUI应用程序(在Windows中),它也非常棘手,您必须使用类似功能GetAsyncState()来检查是否按下了alt.
| 归档时间: |
|
| 查看次数: |
297 次 |
| 最近记录: |