Visual Studio
-
Hallo,
Ich habe Visual Studio Installiert. Es gibt ein Problem: In diesem Programm erstellte Projekte (c++) lassen sich in den Verzeichnissen nicht ausführen, doch, nach dem Doppelklick startet das Programm, aber das Konsolenfenster schliesst sich sofort. Wenn man das Gleiche Projekt von Visuall Studio laufen lässt, tretten diese Problemme nicht.
Woran könnte das liegen?
Ich danke Ihnen.
-
-
Danke.
-
Das wird für visual studio wohl weniger interessant sein, und die meisten Linux-IDEs haben ne sinnvolle Konsoleneinbindung, aber für den Fall der Fälle sähe das ganze mit POSIX so aus:
#include <stdio.h> #include <termio.h> void setTerminalBuffering(int new_state) { static struct termios stored_settings; static int old_state = 1; if(!old_state == !new_state) return; //nix zu tun old_state = new_state; if(!new_state) { struct termios new_settings; tcgetattr(0,&stored_settings); new_settings = stored_settings; new_settings.c_lflag &= (~ICANON); new_settings.c_cc[VTIME] = 0; tcgetattr(0,&stored_settings); new_settings.c_cc[VMIN] = 1; tcsetattr(0,TCSANOW,&new_settings); } else { tcsetattr(0,TCSANOW,&stored_settings); } } int main() { setTerminalBuffering(0); //ab jetzt geht getchar() wie getch() printf("\n%c\n", getchar()); setTerminalBuffering(1); //jetzt will getchar() wieder ein return haben return 0; }
Damit ist es dann auch möglich, ein getch() zu bauen:
int getch() { int ret; setTerminalBuffering(0); ret = getchar(); setTerminalBuffering(1); return ret; }