Re: DOS program recording it's parameters and environment?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Frantisek,
compiler v1.9 (http://www.openwatcom.org/) for DOS. And there I knock
to problem - it seems as this compiler not support construction:

int main(int argc, char *argv[], char *envp[])

I think this 3rd argument may be a MS-specific extension, as most C programs just have argc & argv in the call to main();

If you change to use the 'environ' variable, that should be pre-defined (probably in stdlib.h) and should do the same job. Attached is an example that seems to compile & work under C6 DOS compiler and with gcc on my Ubuntu 10.04 box.

Regards,
Paul

#include <stdio.h>
#include <stdlib.h>

extern char **environ;

int main(int argc, char *argv[])
{
int ii;
FILE *fp;
char **envp = environ;


	fp=fopen("dosenv.txt", "wb");
	if(fp != NULL)
		{
		fprintf(fp, "argc = %d\n", argc);

		for(ii=0; ii<argc; ii++)
			{
			fprintf(fp, "argv[%d] = %s\n", ii, argv[ii]);
			}

		ii=0;
		while(envp != NULL && envp[ii] != NULL)
			{
			fprintf(fp, "envp[%d] = %s\n", ii, envp[ii]);
			ii++;
			}

		fclose(fp);
		}


return 0;
}

[Index of Archives]     [Linux Console]     [Linux Audio]     [Linux for Hams]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite Camping]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Samba]     [Linux Media]     [Fedora Users]

  Powered by Linux