Wie kann ich Übergabeparameter benutzen? (OS: openVMS)
-
Guten morgen zusammen,
Grundsätzlich will ich ein Programm schreiben das eine Datei zeilenweise ausliest.
Die auszulesende Datei soll per Parmameter übergeben werden.
Danach sollen die ersten 6 Zeilen ausgegeben werden, alle weitern Zeilen sind leer(0A) oder enthalten eine ganze Zahl, diese sollen addiert werden.Das Problem ist, dass sich mein Programm nicht mit Parametern starten lässt.
Beim starten kommt folgener Fehler:%DCL-W-MAXPARM, too many parameters - reenter command with fewer parameters \"Testparameter"\
Mein Programm:
#include <stdio.h> #include <stdlib.h> #define LINE_LENGTH 80 int main(int argc, char *argv[]) { printf("Programm start.\n"); FILE* fp; char line[LINE_LENGTH]; int anzahl = 0; //Parameterausgabe printf("Uebergabeparameter:\n"); for (int i = 0; i < argc; ++i) { printf("%s\n", argv[i]); } fp = fopen(argv[0], "r"); if (fp == 0) { printf("Datei nicht gefunden!\n"); return 0; } for (int i = 0; i < 6; ++i) { fgets(line, LINE_LENGTH, fp); printf("%s\n", line); } while (fgets(line, LINE_LENGTH, fp) != NULL) { anzahl += atoi(line); } printf("Anzahl: %i\n", anzahl); fclose(fp); printf("Programm ende."); return 1; }
Vielen Dank im Voraus
freundliche Grüße
eure Lottofee
-
Das Problem liegt bei openVMS.
Dazu kann ich leider nichts sagen.Allerdings steht in argv[0] i.A. der Programmname.
Das erste Argument steht in argv[1]. (s. Zeile 20)
-
Aber vielleicht hilft die Wikipedia weiter: http://de.wikipedia.org/wiki/Digital_Command_Language
Auch mal den englischen Artikel ansehen.
-
Danke für den Hinweis.
Ich habe meinen Fehler gefunden.
ich habe das Prgramm flasch ausgeführt.
Fafls es jemanden interresiert:
"mc" statt "run"
"run" nimmt keine Parameter entgegen.
feundliche grüße
eure lottofee