linux終端下實現的conio.h中的getch()功能函式
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <termios.h>
char getch_from_terminal()
{
FILE *input;
FILE *output;
struct termios initial_settings, new_settings;
int inputString;
input = fopen("/dev/tty", "r");
output = fopen("/dev/tty", "w");
if(!input || !output)
{
fprintf(stderr, "Unable to open /dev/tty\n");
exit(1);
}
tcgetattr(fileno(input), &initial_settings);
new_settings = initial_settings;
new_settings.c_lflag &= ~ICANON;
new_settings.c_lflag &= ~ECHO;
new_settings.c_cc[VMIN] = 1;
new_settings.c_cc[VTIME] = 0;
new_settings.c_lflag &= ~ISIG;
if(tcsetattr(fileno(input), TCSANOW, &new_settings) != 0)
{
fprintf(stderr, "Could not set attributes\n");
}
while(inputString != 'q')
{
do
{
inputString = fgetc(input);
}while(inputString == '\n' || inputString == '\r');
return (char )inputString;
}
tcsetattr(fileno(input), TCSANOW, &initial_settings);
}
相關文章
- MySQL 函式索引功能終於可以實現了MySql函式索引
- C語言在linux終端下實現2048小遊戲:第二版C語言Linux遊戲
- 利用指標實現strncmp函式功能指標函式
- JavaScript的迭代函式與迭代函式的實現JavaScript函式
- 去抖函式的實現函式
- bind 函式的實現原理函式
- async 函式的實現原理函式
- Linux QoS實現框架:函式呼叫流程圖Linux框架函式流程圖
- excel最常用的八個函式彙總 excel中各函式的用途功能Excel函式
- python中實現函式過載Python函式
- PHP中實現函式過載PHP函式
- 虛擬函式的實現原理函式
- 字串相關函式的實現字串函式
- strlen函式的模擬實現函式
- 細節解析 JavaScript 中 bind 函式的模擬實現JavaScript函式
- ObjectC Hook函式的實現與實戰ObjectHook函式
- js中windows的函式(隨機數,計時器的實現)JSWindows函式隨機
- js中實現單分派泛函式JS函式
- 在 Python 中實現函式過載Python函式
- Linux中select()函式分析Linux函式
- add(1)(2)(3)...函式的實現函式
- 利用標準I/O函式,實現兩個檔案的複製功能函式
- 【C語言】常用的字串函式及相關函式的自我實現C語言字串函式
- 美麗的閉包,在js中實現函式過載JS函式
- 在CPython中實現純Python函式的真正並行性Python函式並行
- 使用條件型別實現TypeScript中的函式過載型別TypeScript函式
- Spring Aop中解析spel表示式,實現更靈活的功能Spring
- 理解thunk函式的作用及co的實現函式
- 實現system函式功能(shell命令執行情況判斷)函式
- 如何在Python中實現函式過載Python函式
- Sql 中的 left 函式、right 函式SQL函式
- Rust中的into函式和from函式Rust函式
- 一個 Pillow 實現的影像填充函式函式
- 一個 Pillow 實現的影象填充函式函式
- requestAnimationFrame實現一幀的函式節流requestAnimationFrame函式
- Linux下getopt函式的使用Linux函式
- 使用 Masstransit中的 Request/Response 與 Courier 功能實現最終一致性
- php中函式的實參和形參PHP函式