I built a simple program try to print the command line parameters.
The code is below and I built an executable file (TEST.EXE).
int main(int argc, char *argv[])
{
int i;
printf("%s\n",argv[0]);
for (i = 1; i < argc; i++)
printf("argument %d: %s\n", i, argv[i]);
exit (EXIT_SUCCESS);
}
I try to run the TEST.EXE and print the parameters but fail.
The result of command RUN TEST.EXE test1 test2
:
%DCL-W-MAXPARM, too many parameters - reenter command with fewer parameters
What can I do to print "test1" and "test2"?
In addition, if you need to preserve the case of the arguments, you have to quote these arguments or enter
once in the lifetime of your process and
before running your program with a specific foreign command or by using automatic foreign commands (DCL$PATH). Otherwise all the unquoted arguments are converted to lowercase characters.
PS: VMS has a command language, that is, you have to enter a command to run a program. By default, file names are no commands. With defining DCL$PATH you change this default behaviour.