Simple Frage zur Konsole..
-
Nabend erstma,
ich hab ne ganz kleine Frage. Hab das Problem, dass meine Konsole sich nach ausführung des Programms gleich wieder schließt. Also kann ich die Ergebnise gar nicht sehen.
Es gibt doch ein Befehl, mit dem man das qusi anhalten kann oder?
War irgendwie was mit system.... weiß nich mehr, find es leider auch nicht mehr, kann mir das mal kurz einer posten?Danke!
-
Guten N' Abend,

system("PAUSE");
meinst du glaub ich

siehe FAQ !
-
RTFFAQ
-
Schon 100x gefragt und es steht immer noch in der FAQ

http://www.c-plusplus.net/forum/viewtopic-var-t-is-111042.htmlEdit:
system("PAUSE") ist aber nicht portabel.Und noch ne kleine Ergänzung zur FAQ. Falls diese Zeile (warum auch immer)
std::cin.ignore(std::cin.rdbuf()->in_avail());nicht funktionieren sollte (mein sowas hier schonmal gelesen zu haben), kannst du auch
std::cin.sync();verwenden (ist außerdem kürzer ^^).
-
danke für die schnelle Hilfe!
-
Vellas schrieb:
Edit:
system("PAUSE") ist aber nicht portabel.ach ne, wirklich ?
timkon schrieb:
War irgendwie was mit system.... weiß nich mehr, find es leider auch nicht mehr, kann mir das mal kurz einer posten?
... danach war auch nur gefragt!
-
Das mit system war auch nicht an dich gerichtet, sondern als Hinweis gedacht für den Threadstarter, also komm mal runter.
-
Vellas schrieb:
Das mit system war auch nicht an dich gerichtet, sondern als Hinweis gedacht für den Threadstarter, also komm mal runter.
kkkk, sry

-
Vellas schrieb:
Schon 100x gefragt und es steht immer noch in der FAQ

http://www.c-plusplus.net/forum/viewtopic-var-t-is-111042.htmlEdit:
system("PAUSE") ist aber nicht portabel.Und noch ne kleine Ergänzung zur FAQ. Falls diese Zeile (warum auch immer)
std::cin.ignore(std::cin.rdbuf()->in_avail());nicht funktionieren sollte (mein sowas hier schonmal gelesen zu haben), kannst du auch
std::cin.sync();verwenden (ist außerdem kürzer ^^).
Könnte man das in die FAQ ergänzen? Bei mir funktioniert nämlich das mit ignore nicht.
mfg.
-
das system("PAUSE") dient auch nur zum Testen. Wird später wieder entfert
Wieso gibt meine Konsole zB kein ö aus? Hab es schon so: \u00f6 geschrieben. Woran liegt das?
Danke!
-
Ergenzung zum FAQ fuer UNIX, Linux und Apple Systeme.
#include <stdio.h> #include <sys/types.h> #include <sys/fcntl.h> #include <unistd.h> #include <iostream> void starte_daemon(void) { chdir("/"); // eventuel noch chroot(); setsid(); close(STDIN_FILENO); close(STDOUT_FILENO); close(STDERR_FILENO); open("/dev/null", O_RDWR); dup(STDIN_FILENO); dup(STDIN_FILENO); /* Dein Prog */ } int main(int argc, char *argv[]) { pid_t pid; if ((pid = fork()) < 0) { std::cout << "fork() error" << std::endl; return 1; } if (pid == 0) starte_daemon(); std::cout << "Daemon running with pid: " << pid << std::endl; return 0; }Sollte so stimmen.
Man koennte natuerlich noch mehr integrieren.Gg
-
timkon schrieb:
das system("PAUSE") dient auch nur zum Testen. Wird später wieder entfert
Wieso gibt meine Konsole zB kein ö aus? Hab es schon so: \u00f6 geschrieben. Woran liegt das?
Danke!
Dann versuch's doch mal mit '\xF6' (sollte nach meiner Erfahrung stimmen)
-
xGhost schrieb:
Ergenzung zum FAQ fuer UNIX, Linux und Apple Systeme.
#include <stdio.h> #include <sys/types.h> #include <sys/fcntl.h> #include <unistd.h> #include <iostream> void starte_daemon(void) { chdir("/"); // eventuel noch chroot(); setsid(); close(STDIN_FILENO); close(STDOUT_FILENO); close(STDERR_FILENO); open("/dev/null", O_RDWR); dup(STDIN_FILENO); dup(STDIN_FILENO); /* Dein Prog */ } int main(int argc, char *argv[]) { pid_t pid; if ((pid = fork()) < 0) { std::cout << "fork() error" << std::endl; return 1; } if (pid == 0) starte_daemon(); std::cout << "Daemon running with pid: " << pid << std::endl; return 0; }Sollte so stimmen.
Man koennte natuerlich noch mehr integrieren.Gg
Sollte der Vaterprozess nicht auf das Kind warten? Sonst beendet sich der Vaterprozess und der Kindprozess laeuft als Zombieprozess weiter ...