Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.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
C++ C++;linux显示将控制台修改为显示字符_C++_Linux_Console - Fatal编程技术网

C++ C++;linux显示将控制台修改为显示字符

C++ C++;linux显示将控制台修改为显示字符,c++,linux,console,C++,Linux,Console,对于我的项目,我需要在某一时刻做到这一点: ttystate.c_lflag &= (~ICANON & ~ECHO); //Not display character ttystate.c_cc[VMIN] = 1; 但我怎样才能在以后撤销它呢?我试试这个: ttystate.c_lflag |= ICANON & ECHO; ttystate.c_cc[VMIN] = 1; 但它似乎不起作用,字符不再显示。。。 谢谢。I常规,我只保

对于我的项目,我需要在某一时刻做到这一点:

    ttystate.c_lflag &= (~ICANON & ~ECHO); //Not display character
    ttystate.c_cc[VMIN] = 1;
但我怎样才能在以后撤销它呢?我试试这个:

    ttystate.c_lflag |= ICANON & ECHO;
    ttystate.c_cc[VMIN] = 1;
但它似乎不起作用,字符不再显示。。。
谢谢。

I常规,我只保存旧状态,例如
oldstate=ttystate在进行更改之前的某个地方(这样,您就不必编写代码来“撤消”每个更改)。但是你想要
|=ICANON | ECHO
以组合这两个标志。您当前的代码将两个标志加在一起,这将变为零。谢谢,这解决了问题!