Cygwin/Mintty中标准输入的原始输入模式
我想在Cygwin/Mintty中将我的标准输入设置为原始输入模式。我该怎么做?现在,它是行缓冲的。对于原始输入模式,我的意思是Cygwin/Mintty中标准输入的原始输入模式,cygwin,stdin,mintty,Cygwin,Stdin,Mintty,我想在Cygwin/Mintty中将我的标准输入设置为原始输入模式。我该怎么做?现在,它是行缓冲的。对于原始输入模式,我的意思是read返回每个输入的字符 我更愿意这样做,没有任何进一步的依赖关系。也就是说,我想这可能可以通过链接Cygwin的一些LIB来实现,但是,如果可能的话,我希望避免这种情况 一些搜索结果: 我尝试通过SetConsoleMode,但这只适用于Windows控制台,不适用于Mintty。即该代码: // Setting terminal to raw mode..
read
返回每个输入的字符
我更愿意这样做,没有任何进一步的依赖关系。也就是说,我想这可能可以通过链接Cygwin的一些LIB来实现,但是,如果可能的话,我希望避免这种情况
一些搜索结果:
我尝试通过SetConsoleMode
,但这只适用于Windows控制台,不适用于Mintty。即该代码:
// Setting terminal to raw mode...
HANDLE hStdin;
DWORD mode;
//hStdin = GetStdHandle(STD_INPUT_HANDLE);
hStdin = (HANDLE) _get_osfhandle(STDIN_FILENO);
if (GetFileType(hStdin) == FILE_TYPE_CHAR) {
cout << "stdin is file type char" << endl;
GetConsoleMode(hStdin, &mode);
if (
!SetConsoleMode(
hStdin,
mode & ~(ENABLE_LINE_INPUT|ENABLE_ECHO_INPUT))
) {
cerr << "Cannot set stdin to raw mode" << endl;
// ignore...
}
}
//将终端设置为原始模式。。。
处理hStdin;
德沃德模式;
//hStdin=GetStdHandle(标准输入句柄);
hStdin=(句柄)\u get\u osfhandle(标准文件号);
if(GetFileType(hStdin)=文件类型字符){
cout系统(“stty-raw”);
是否有效?如果您有新问题,请单击按钮提问。如果有助于提供上下文,请包含指向此问题的链接。@这不是新问题,而是解决其问题的建议。