digitalmars.com                      
Last update Mon Mar 8 21:08:39 2010
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


_fstat

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

_stat

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