rückgabewerte von system("programm.exe")



  • ich für ein programm mit dem befehl system aus..

    möchte aber auch eine Fehlerbehandlung realisieren, zum Beispiel wenn die auszuführende EXE nicht gefunden wird.. Ich weiss das system einen Rückgabewert hat, schaffe es aber nicht diesen entsprechend zu verarbeiten..

    Kann mir jemand mit nem Codeschnipsel auf die sprünge helfen..

    vielen dank..



  • Return Value

    If command is NULL and the command interpreter is found, the function returns a nonzero value. If the command interpreter is not found, it returns 0 and sets errno to ENOENT. If command is not NULL, system returns the value that is returned by the command interpreter. It returns the value 0 only if the command interpreter returns the value 0. A return value of – 1 indicates an error, and errno is set to one of the following values:

    E2BIG

    Argument list (which is system-dependent) is too big.

    ENOENT

    Command interpreter cannot be found.

    ENOEXEC

    Command-interpreter file has invalid format and is not executable.

    ENOMEM

    Not enough memory is available to execute command; or available memory has been corrupted; or invalid block exists, indicating that process making call was not allocated properly.



  • sehr witzig... die referenz hab ich selbst...

    system("program.exe");
    if (errno == ENOENT) ......
    

    oder wie muss das aussehen...



  • system startet erst eine shell, die dann wiederum erst das Programm startet. Besser du nimmst eine andere Funktion. Für Linux exec*, für Windows ShellExecute.



  • danke.. Shellexecute ist gut.. hat vielleicht jemand ein codeschnipsel wie ich die rückgabewerte verarbeite???



  • net sehr witzig ...

    int system(const char *string)



  • luiggi schrieb:

    danke.. Shellexecute ist gut.. hat vielleicht jemand ein codeschnipsel wie ich die rückgabewerte verarbeite???

    http://www.google.de/search?&q=ShellExecute example c++
    und sonst würde ich in die msdn kucken

    thread verschoben ins winapi forum


Anmelden zum Antworten