Runtime Library Reference
· Constants
· Data types
Standard C
· assert.h
· complex.h
· ctype.h
· fenv.h
· float.h
· locale.h
· math.h
· setjmp.h
· signal.h
· stdarg.h
· stddef.h
· stdio.h
· stdlib.h
· string.h
· time.h
Standard C++
· IOstream
· new
Win32
· gc.h
DOS, DOS32, Win16
· bios.h
· cerror.h
· disp.h
· dos.h
· dos.h part 2
· emm.h
· handle.h
· int.h
· msmouse.h
· sound.h
· swap.h
· tsr.h
· winio.h
Other C
· bitops.h
· conio.h
· controlc.h
· direct.h
· fltpnt.h
· io.h
· page.h
· process.h
· search.h
· sys\stat.h
· tabsize.h
· trace.h
· utime.h
· unmangle.h
· util.h
Other C++
· regexp.h
· class complex
|
sys\stat.h
- Header
- sys\stat.h
- Prototype
- int _fstat(int fd, struct stat *buf);
- Description
- The _fstat function gets information about an open file fd and
stores it in the structure pointed to by buf. Some of the fields in the
_stat structure are:
Field/Description
- st_dev
- Drive number of disk containing file fd or
value of fd if fd is a device.
- st_mode
- Bit map containing mode information on the
open file. The bits in this mask are described
in the following table.
- st_nlink
- Number of links (always 1).
- st_rdev
- Same as st_dev.
- st_size
- Size of open file in bytes.
- st_mtime
- Time last modified.
- st_atime
- Same as st_mtime
- st_ctime
- Same as st_mtime
- st_mode will be a combination of these values:
- Value/Is set if fd refers to...
- _S_IFCHR
- a character device.
- _S_IFREG
- a regular file, not a device.
- _S_IREAD
- a readable file or device.
- _S_IWRITE
- a wriatable file or device.
- Synonym
- Function: fstat
Structure: stat
Modes: S_IFCHR, S_IFREG, S_IREAD, S_IWRITE
- Return Value
- A value of 0 if file information is successfully obtained. If the return
value is -1, errno is set to EBADF indicating a bad file handle.
- Compatibility
- DOS Windows 3.x Phar Lap DOSX Win32
- See Also
- _stat
findfirst
findnext
_isatty
- Example
/* Example of _fstat */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <fcntl.h>
#include <sys\stat.h>
void main ()
{
char filen[_MAX_PATH];
char *date;
int res;
struct _stat fstat;
int fh;
printf (" Enter a filename: ");
gets (filen);
if ((fh = _open (filen, _O_RDONLY)) < 0)
{
perror (" Error opening file");
exit (EXIT_FAILURE);
}
if ((res = _fstat (fh, &fstat)) != 0)
{
perror (" Failure calling _fstat");
exit (EXIT_FAILURE);
}
date = asctime (localtime (& fstat. st_ctime));
printf ("\nDate: %s", date);
printf (" Mode: %d\n", fstat. st_mode);
printf (" Size: %ld\n", fstat. st_size);
}
- Output
Enter a filename: _fstat. c
Date: Tue Jun 28 14: 11: 56 1994
Mode: -32330
Size: 760
- Header
- sys/stat.h
sys/types.h
- Prototype
- int _stat(char *path, struct _stat *buf);
- Description
- The _stat function gets information about a file or directory specified by path and store the information in the structure that buf points to. The structure contains the following fields:
Field/Description
- st_dev
- The drive number of the drive specified in path, or the default drive, if none is given.
- st_mode
- Bit map containing mode information on the open file, made up of the values below.
- st_nlink
- Always 1.
- st_rdev
- Same as st_dev.
- st_size
- Size of file in bytes.
- st_mtime
- Time last modified.
- st_atime
- For NT, time last accessed; or same as st_mtime.
- st_ctime
- For NT, time created; otherwise same as st_mtime.
- st_ino
- Always 0. (stat structure only)
- st_uid
- Always 0. (stat structure only)
- st_gid
- Always 0. (stat structure only)
Use the following values for st_mode:
- _S_IFREG
- Set if path refers to an ordinary file, not a directory.
- _S_IREAD
- Set if path refers to a readable file or directory.
- _S_IWRITE
- Set if path refers to a writable file or directory.
- _S_IFDIR
- Set if path refers to a directory.
- _S_IEXEC
- Set if path refers to an executable file or a directory.
- Synonym
- Function: stat
Values: S_IFREG, S_IREAD, S_IWRITE, S_IFDIR, S_IEXEC
- Return Value
- stat returns 0 if the status information is retrieved. On error the function returns -1 and errno is set.
- Compatibility
- DOS Windows 3.x Phar Lap DOSX Win32
- See Also
- _fstat
- Example
/* Example of _stat */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <sys\stat.h>
void main ()
{
char filen[_MAX_PATH];
char *date;
int res;
struct _stat fstat;
printf (" Enter a filename: ");
gets (filen);
if ((res = _stat (filen, &fstat)) != 0)
{
perror (" Failure calling _stat");
exit (EXIT_FAILURE);
}
date = asctime (localtime (& fstat. st_ctime));
printf ("\nDate: %s", date);
printf (" Mode: %d\n", fstat. st_mode);
printf (" Size: %ld\n", fstat. st_size);
}
- Output
Enter a filename: _stat.c
Date: Thu Jun 23 09: 42: 04 1994
Mode: -32330
Size: 585
|