fdopen(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

fdopen(3c)

Standard C Library Functions                                        fdopen(3C)



NAME
       fdopen - associate a stream with a file descriptor

SYNOPSIS
       #include <stdio.h>

       FILE *fdopen(int fildes, const char *mode);

DESCRIPTION
       The  fdopen()  function  associates  a  stream  with  a file descriptor
       fildes.


       The mode argument is a character string having  one  of  the  following
       values:


       tab(); lw(1.9i) lw(3.6i) r or rbOpen a file for reading.  w or wbOpen a
       file for writing.  a or abOpen a file for writing at end of file.   r+,
       rb+  or r+bT{ Open a file for update (reading and writing).  T} w+, wb+
       or w+bT{ Open a file for update (reading and writing).  T} a+,  ab+  or
       a+bT{ Open a file for update (reading and writing) at end of file.  T}



       The  meaning  of  these flags is exactly as specified for the fopen(3C)
       function, except that modes beginning with w do not cause truncation of
       the file, and the use of x shall have no effect. The FD_CLOEXEC flag of
       fildes shall be unchanged if e was not present, and shall be set  if  e
       is  present.  The FD_CLOFORK flag of fildes shall be unchanged if f was
       not present, and shall be set if f is present.


       The mode of the stream must be allowed by the file access mode  of  the
       open  file.  The file position indicator associated with the new stream
       is set to the position indicated by the file offset associated with the
       file descriptor.


       The  fdopen()  function preserves the offset maximum previously set for
       the open file description corresponding to fildes.


       The error and end-of-file indicators for the stream  are  cleared.  The
       fdopen()  function  may cause the st_atime field of the underlying file
       to be marked for update.


       If fildes refers to a shared memory object, the result of the  fdopen()
       function is unspecified.

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


       The  fdopen()  function may fail and not set errno if there are no free
       stdio streams.

ERRORS
       The fdopen() function may fail if:

       EBADF     The fildes argument is not a valid file descriptor.


       EINVAL    The mode argument is not a valid mode.


       EMFILE    {FOPEN_MAX}  streams  are  currently  open  in  the   calling
                 process.

                 {STREAM_MAX}  streams  are  currently  open  in  the  calling
                 process.


       ENOMEM    There is insufficient space to allocate a buffer.


USAGE
       A process is allowed to have at least {FOPEN_MAX} stdio streams open at
       a  time. For 32-bit applications, however, the underlying ABIs formerly
       required that no file descriptor used to access the file  underlying  a
       stdio stream have a value greater than 255. To maintain binary compati‐
       bility with earlier  Solaris  releases,  this  limit  still  constrains
       32-bit applications.


       File descriptors are obtained from calls like open(2), dup(2), creat(2)
       or pipe(2), which open files but do not  return  streams.  Streams  are
       necessary input for almost all of the standard I/O library functions.

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelMT-Safe _  Stan‐
       dardSee standards(7).


SEE ALSO
       creat(2),    dup(2),    open(2),    pipe(2),   fclose(3C),   fopen(3C),
       attributes(7), standards(7)



Oracle Solaris 11.4               08 May 2020                       fdopen(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3