Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

25.02.2009, 16:26

Problem mit Rückgabewerten von Programmen

Hallo,
ich bastel hier grade ein wenig rum und muss in einem Programm ein anderes ausführen und dann den Rückgabewert bekommen um zu wissen obs geklappt hat oder nicht.
Ich habe es mit Python und C++ probiert (os.system und system()), bei beiden das gleiche. Wenn das aufgerufene Programm 0 zurück gibt kommt 0 an. Gibt es 1 zurück kommt bei meinem Programm 256 an, bei 2 sind es dann 512 usw. Der Wert wird immer mit 256 multipliziert wie es scheint.
Ist das normal?
Wenn ja, warum?
Wenn nicht, warum ist es dann so bei mir?
MfG

Jacky2k

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Jacky2k« (01.03.2009, 01:44)


2

27.02.2009, 08:28

Errm ... kann es sein das du die man.-page von system() nicht so ganz genau gelesen hast? Besonders den Teil über den Rückgabewert?

Quellcode

1
2
3
4
$ cat Alice.cpp
int main(int argc, char** argv) {
    return argc;
}

Quellcode

1
2
3
4
5
6
7
8
9
$ cat Bob.cpp
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** arv) {
    int nStatus = system("./Alice 2 3 4 5");
    printf("I kissed alice - and she said: %d\n", WEXITSTATUS(nStatus));
    return 0;
}


Und dann:

Quellcode

1
2
3
4
$ g++ -o Alice Alice.cpp
$ g++ -o Bob Bob.cpp
$ ./Bob
I kissed alice - and she said: 5


Passt doch.
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

3

01.03.2009, 01:44

Ne, die man habe ich mir nicht durchgelesen, sondern ein paar C(++) Referenzen, anscheinend sind die alle Mist :)
Habe es jetzt nicht ausprobiert aber das sollte das Problem wohl lösen. Ist das unter Windoof auch so?
MfG

Jacky2k

4

02.03.2009, 09:41

Ist das unter Windoof auch so?


Puuh ... kann ich dir jetzt auf die Schnelle nicht versprechen. I.A. aber schon, weil es sich hier um POSIX-Calls dreht und M$ der Meinung ist, ihre System sind POSIX-kompatibel.
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>