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; }