get the original parameters to a program, as a string
#include <process.h> int _bgetcmd( char *cmd_line, int len );
The _bgetcmd() function causes the command line information, with the program name removed, to be copied to cmd_line. The argument len specifies the size of cmd_line. The information is terminated with a “\0” character. This provides a method of obtaining the original parameters to a program as a single string of text.
This information can also be obtained by examining the vector of program parameters passed to the main function in the program.
If cmd_line is NULL then the number of bytes required to store the command line, excluding the terminating NULL character, is returned; otherwise the number of bytes stored in cmd_line, excluding the terminating NULL character, is returned.
abort(), atexit() , close() , exec... Function, exit(), _exit(), getcmd(), getenv(), main(), onexit(), putenv() , sigaction(), signal() , spawn... functions, system() , wait(), waitpid()
Suppose a program is invoked with the command line:
myprog arg-1 ( my stuff ) here
where that program contains:
#include <stdio.h>
#include <stdlib.h>
#include <process.h>
void main()
{
char *cmdline;
int cmdlen;
cmdlen = _bgetcmd( NULL, 0 ) + 1;
cmdline = malloc( cmdlen );
if( cmdline != NULL ) {
cmdlen = _bgetcmd( cmdline, cmdlen );
printf( "%s\n", cmdline );
}
}
The output is as follows:
arg-1 ( my stuff ) here
WATCOM
All (except DOS/PM)