Simple Frage zur Konsole..



  • RTFFAQ



  • Schon 100x gefragt und es steht immer noch in der FAQ 😉
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-111042.html

    Edit:
    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.html

    Edit:
    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 ...


Anmelden zum Antworten