que - deshabilitar consola heredada windows 10
Cómo deshabilitar echo en la consola de Windows? (2)
¿Cómo desactivo echo en una aplicación de consola de Windows C?
Realmente no quiero capturar personajes con _getch
(todavía quiero Ctrl-C ) para que funcionen. Además, _getch solo parece deshabilitar echo para cmd
pero no para cygwin
.
Debe haber una forma de redirigir el conducto o modificar la configuración de la consola.
Sí, la manera más fácil de hacerlo, en mi opinión, sería usar freopen para cambiar básicamente el archivo abierto detrás del descriptor de archivo stdout.
Podría redirigir la salida de la consola a un archivo usando
freopen("C:/some_file.txt", "w", stdout);
Si no quiere almacenar la salida de una vez, debería poder escribir un / dev / null como (/ dev / null está en Unix), pero en Windows (que no tengo puede intentar "nul "o" / Dispositivo / Nulo "
Entonces algo como lo siguiente debería funcionar:
freopen("/Device/Null", "w", stdout);
Lo siento, no puedo probar eso porque no tengo ventanas, pero esa es la idea principal.
Tal vez SetConsoleMode (robado del 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