Simple Frage zur Konsole..
-
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 ...