Mail Archives: djgpp/2001/12/06/05:00:01
On Thu, 6 Dec 2001, Jeff Powell wrote:
> And compiling the file as .c yields the same results. Here is the whole file.
>
> #include <dos.h>
> //#include <fcntl.h>
> #include <stdio.h>
> #include <string.h>
> #include <dir.h>
>
> main(int ac, char **av)
> {
> struct ffblk f;
> int iFndStatus;
> char cDrv[MAXDRIVE];
> char cDir[MAXDIR];
> char cNam[MAXFILE];
> char cExt[MAXEXT];
> char *MyStr;
>
> // _use_lfn(av[1]);
> fnsplit(av[1],cDrv, cDir, NULL, NULL);
I'm guessing that you invoked your program like this:
yourprog C:\*.*
Is that right? If so, av[1] didn't contain "C:\*.*", but the first file
in the C:\ directory. That's because the DJGPP startup code
automatically expands wildcards in all the command-line arguments. If
you want to pass the literal "C:\*.*" to a program, enclose it in double
or single quotes. When I do that, your program works for me as you'd
expect: it prints all the files in the C:\ directory.
(That's why I asked you to tell what's in av[1], but I guess you didn't
actually look... ;-)
- Raw text -