MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Standard C Library Functions                          freopen(3C)



NAME
     freopen - open a stream

SYNOPSIS
     #include 

     FILE *freopen(const char *filename, const char *mode, FILE *stream);


DESCRIPTION
     The freopen() function first attempts to  flush  the  stream
     and  close  any  file  descriptor  associated  with  stream.
     Failure to flush or close the file successfully is  ignored.
     The  error  and  end-of-file  indicators  for the stream are
     cleared.


     The freopen() function opens the file whose pathname is  the
     string  pointed  to  by  filename  and associates the stream
     pointed to by stream with it. The mode argument is used just
     as in fopen(3C).


     If filename is a null pointer and the  application  comforms
     to SUSv3 (see standards(5)), the freopen() function attempts
     to change the mode of the stream to that specified by  mode,
     as though the name of the file currently associated with the
     stream had been used.  The following  changes  of  mode  are
     permitted,  depending  upon  the  access  mode  of  the file
     descriptor underlying the stream:

         o    When ] is specified, the file descriptor mode  must
              be ORDWR.

         o    When r is specified, the file descriptor mode  must
              be ORDONLY or ORDWR.

         o    When a or w is specified, the file descriptor  mode
              must be OWRONLY or ORDWR.


     If the filename is a null pointer and the  application  does
     not comform to SUSv3, freopen() returns a null pointer.


     The original stream is closed regardless of whether the sub-
     sequent open succeeds.


     After a successful  call  to  the  freopen()  function,  the
     orientation  of  the stream is cleared, the encoding rule is
     cleared, and the  associated  mbstatet  object  is  set  to



SunOS 5.11          Last change: 24 Jul 2002                    1






Standard C Library Functions                          freopen(3C)



     describe an initial conversion state.


     The largest value that can be represented  correctly  in  an
     object  of type offt will be established as the offset max-
     imum in the open file description.

RETURN VALUES
     Upon successful completion, freopen() returns the  value  of
     stream.  Otherwise,  a null pointer is returned and errno is
     set to indicate the error.

ERORS
     The freopen() function will fail if:

     EACES          Search permission is denied on  a  component
                     of  the  path prefix, or the file exists and
                     the  permissions  specified  by   mode   are
                     denied, or the file does not exist and write
                     permission is denied for the  parent  direc-
                     tory of the file to be created.


     EBADF           The  application  comforms  to  SUSv3,   the
                     filename  argument  is  a  null pointer, and
                     either the underlying file descriptor is not
                     valid  or the mode specified when the under-
                     lying file descriptor was  opened  does  not
                     support  the  file access modes requested by
                     the mode argument.


     EFAULT          The application does not  comform  to  SUSv3
                     and the filename argument is a null pointer.


     EINTR           A signal was caught during freopen().


     EISDIR          The named  file  is  a  directory  and  mode
                     requires write access.


     ELOP           Too many symbolic links were encountered  in
                     resolving path.


     EMFILE          There  are   {OPENMAX}   file   descriptors
                     currently open in the calling process.






SunOS 5.11          Last change: 24 Jul 2002                    2






Standard C Library Functions                          freopen(3C)



     ENAMETOLONG    The   length   of   the   filename   exceeds
                     {PATHMAX} or a pathname component is longer
                     than {NAMEMAX}.


     ENFILE          The maximum allowable  number  of  files  is
                     currently open in the system.


     ENOENT          A component of filename  does  not  name  an
                     existing   file  or  filename  is  an  empty
                     string.


     ENOSPC          The directory or file system that would con-
                     tain  the  new  file cannot be expanded, the
                     file does  not  exist,  and  it  was  to  be
                     created.


     ENOTDIR         A component of the  path  prefix  is  not  a
                     directory.


     ENXIO           The named file is  a  character  special  or
                     block  special  file, and the device associ-
                     ated with this special file does not exist.


     EOVERFLOW       The current value of the file position  can-
                     not be represented correctly in an object of
                     type offt.


     EROFS           The named file resides on a  read-only  file
                     system and mode requires write access.



     The freopen() function may fail if:

     EINVAL          The value of the mode argument is not valid.


     ENAMETOLONG    Pathname resolution of a symbolic link  pro-
                     duced  an  intermediate  result whose length
                     exceeds {PATHMAX}.


     ENOMEM          Insufficient storage space is available.





SunOS 5.11          Last change: 24 Jul 2002                    3






Standard C Library Functions                          freopen(3C)



     ENXIO           A request was made of a non-existent device,
                     or  the request was outside the capabilities
                     of the device.


     ETXTBSY         The file is a pure procedure  (shared  text)
                     file   that   is  being  executed  and  mode
                     requires write access.


USAGE
     The freopen() function is typically used to attach the preo-
     pened  streams  associated  with stdin, stdout and stderr to
     other files. By default stderr is unbuffered, but the use of
     freopen() will cause it to become buffered or line-buffered.


     The freopen() function has a transitional interface for  64-
     bit file offsets.  See lf64(5).

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Interface Stability          Standard                    
    
     MT-Level                     MT-Safe                     
    


SEE ALSO
     fclose(3C), fdopen(3C), fopen(3C), stdio(3C), attributes(5),
     lf64(5), standards(5)

















SunOS 5.11          Last change: 24 Jul 2002                    4



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™