C++ 库特<<&引用\n\n按任意键继续或按Ctrl+;Z退出;;如何隐藏按下的键?
在我的循环结束时,我有:C++ 库特<<&引用\n\n按任意键继续或按Ctrl+;Z退出;;如何隐藏按下的键?,c++,C++,在我的循环结束时,我有: cout<<"\n\n any key to continue or Ctrl+Z to exit."; 有多种方法可以处理这个问题 但这取决于您使用的操作系统 http://en.wikipedia.org/wiki/Conio.h 备选案文1: 使用conio.h的窗口 getch() 或者使用诅咒的*nix。h getch() 备选案文2: 在Windows中,可以使用SetConsoleMode()关闭任何标准输入函数的echo。
cout<<"\n\n any key to continue or Ctrl+Z to exit.";
有多种方法可以处理这个问题 但这取决于您使用的操作系统 http://en.wikipedia.org/wiki/Conio.h 备选案文1: 使用conio.h的窗口
getch()
或者使用诅咒的*nix。h
getch()
备选案文2:
在Windows中,可以使用SetConsoleMode()关闭任何标准输入函数的echo。
代码:
#包括
#包括
#包括
使用名称空间std;
int main()
{
句柄hStdin=GetStdHandle(标准输入句柄);
DWORD模式=0;
GetConsoleMode(hStdin和模式);
设置控制台模式(hStdin,模式和(~启用回波输入));
字符串s;
getline(cin,s),;
与其在每次迭代中显示一次消息,不如在函数开始时显示一次消息?这样,您就不必提示用户输入确认键。还有一个问题是,我不能再使用Ctrl+Z退出。我如何保持Ctrl+Z作为该程序的唯一退出?您需要Ctrl-Z还是只需使用Ctrl-Z方法类似于'q'退出,然后您可以在(strcmp(输入'q')!=0)任务要求我们以Ctrl-Z终止时退出。
getch()
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
int main()
{
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
DWORD mode = 0;
GetConsoleMode(hStdin, &mode);
SetConsoleMode(hStdin, mode & (~ENABLE_ECHO_INPUT));
string s;
getline(cin, s);
cout << s << endl;
return 0;
}//main
#include <iostream>
#include <string>
#include <termios.h>
#include <unistd.h>
using namespace std;
int main()
{
termios oldt;
tcgetattr(STDIN_FILENO, &oldt);
termios newt = oldt;
newt.c_lflag &= ~ECHO;
tcsetattr(STDIN_FILENO, TCSANOW, &newt);
string s;
getline(cin, s);
cout << s << endl;
return 0;
}//main