delorie.com/djgpp/doc/libc/libc_166.html | search |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
#include <dos.h> unsigned int _dos_findfirst(char *name, unsigned int attr, struct find_t *result); |
This function and the related _dos_findnext
(see section _dos_findnext)
are used to scan directories for the list of files therein. The name
is a wildcard that specifies the directory and files to search. result
is a structure to hold the results and state of the search, and attr
is a combination of the following:
_A_NORMAL (0x00)
Normal file (no read/write restrictions)
_A_RDONLY (0x01)
Read only file
_A_HIDDEN (0x02)
Hidden file
_A_SYSTEM (0x04)
System file
_A_VOLID (0x08)
Volume ID file
_A_SUBDIR (0x10)
Subdirectory
_A_ARCH (0x20)
Archive file
The results are returned in a struct find_t
defined on
<dos.h>
as follows:
struct find_t { char reserved[21]; unsigned char attrib; unsigned short wr_time; unsigned short wr_date; unsigned long size; char name[256]; }; |
See section _dos_findnext.
This function does not support long filenames, even on systems where the LFN API (see section LFN) is available. For LFN-aware functions with similar functionality see findfirst, and findnext. Also see opendir, and readdir, which are Posix-standard.
Zero if a match is found, DOS error code if not found (and sets errno
).
ANSI/ISO C | No |
POSIX | No |
#include <dos.h> struct find_t f; if ( !_dos_findfirst("*.DAT", &f, _A_ARCH | _A_RDONLY) ) { do { printf("%-14s %10u %02u:%02u:%02u %02u/%02u/%04u\n", f.name, f.size, (f.wr_time >> 11) & 0x1f, (f.wr_time >> 5) & 0x3f, (f.wr_time & 0x1f) * 2, (f.wr_date >> 5) & 0x0f, (f.wr_date & 0x1f), ((f.wr_date >> 9) & 0x7f) + 1980); } while( !_dos_findnext(&f) ); } |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
webmaster | delorie software privacy |
Copyright © 2004 | Updated Apr 2004 |