VEX: Merkwürdigkeiten mit Parameterübergabe

koch
Dozentin/Dozent
Beiträge: 221
Registriert: 4. Jul 2005 11:08

VEX: Merkwürdigkeiten mit Parameterübergabe

Beitrag von koch »

Auf den ESA-Rechnern (scheinbar aber nur auf denen, bei mir zu Hause geht es problemlos) gibt es ein Problem mit der Übergabe von Kommandozeilenparametern an VEX-Programme und der atoi()-Funktion.

Funktioniert nicht:

Code: Alles auswählen

int main(int argc, char **argv) {
  int factor = atoi(argv[1]);
...
Hier wird nur die erste Ziffer des entsprechenden Parameters in den Integer-Wert factor umgerechnet. Also statt 42 kommt der Wert 4 heraus.
Stattdessen sollten Sie die Kommandozeilenparameter direkt in Ihr Programm hineinkodieren, also z.B.

Code: Alles auswählen

int main() {
  int factor = 42;
...
}
Ich wäre dankbar für Rückmeldungen, ob es noch auf anderen nicht-ESA-Installationen mit argv/atoi funktioniert.

Zurück zu „Archiv“