如何在Windows控制台C应用程序中禁用echo?
我真的不想捕捉_getch(我仍然想要Ctrl-C)工作的角色.除了_getch之外,似乎只能禁用echo cmd而不是cygwin.
必须有一种方法来重定向管道或修改控制台设置.
也许SetConsoleMode(被盗codeguru):
#include <iostream>
#include <string>
#include <windows.h>
int main()
{
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
DWORD mode = 0;
GetConsoleMode(hStdin, &mode);
SetConsoleMode(hStdin, mode & (~ENABLE_ECHO_INPUT));
std::string s;
std::getline(std::cin, s);
std::cout << s << "\n";
return 0;
}//main
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4421 次 |
| 最近记录: |