MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Standard C Library Functions                            fseek(3C)



NAME
     fseek, fseeko - reposition a file-position  indicator  in  a
     stream

SYNOPSIS
     #include 

     int fseek(FILE *stream, long offset, int whence);


     int fseeko(FILE *stream, offt offset, int whence);


DESCRIPTION
     The fseek() function sets the  file-position  indicator  for
     the  stream  pointed  to by stream. The fseeko() function is
     identical to fseek() except for the type of offset.


     The new position, measured in bytes from  the  beginning  of
     the  file,  is  obtained  by  adding  offset to the position
     specified by whence, whose values are defined  in  
     as follows:

     SEKSET    Set position equal to offset bytes.


     SEKCUR    Set position to current location plus offset.


     SEKEND    Set position to EOF plus offset.



     If the stream is to be used with wide character input/output
     functions, offset must either be 0 or a value returned by an
     earlier call to ftell(3C) on the same stream and whence must
     be SEKSET.


     A successful call to fseek() clears the end-of-file  indica-
     tor  for the stream and undoes any effects of ungetc(3C) and
     ungetwc(3C) on the same stream.  After an fseek() call,  the
     next  operation  on  an update stream may be either input or
     output.


     If the most recent operation, other  than  ftell(3C),  on  a
     given  stream is fflush(3C), the file offset in the underly-
     ing open file description will be adjusted  to  reflect  the
     location specified by fseek().




SunOS 5.11           Last change: 1 Nov 2003                    1






Standard C Library Functions                            fseek(3C)



     The fseek() function allows the file-position  indicator  to
     be  set beyond the end of existing data in the file. If data
     is later written at this point, subsequent reads of data  in
     the  gap  will  return  bytes with the value 0 until data is
     actually written into the gap.


     The value of the file offset returned by fseek() on  devices
     which are incapable of seeking is undefined.


     If the stream is writable and buffered  data  had  not  been
     written  to  the  underlying  file,  fseek()  will cause the
     unwritten data to be  written  to  the  file  and  mark  the
     stctime and stmtime fields of the file for update.

RETURN VALUES
     The fseek() and fseeko() functions return 0 on success; oth-
     erwise,  they  returned  -1  and  set  errno to indicate the
     error.

ERORS
     The fseek() and fseeko() functions will fail if, either  the
     stream  is  unbuffered  or  the stream's buffer needed to be
     flushed, and the call  to  fseek()  or  fseeko()  causes  an
     underlying lseek(2) or write(2) to be invoked:

     EAGAIN    The ONONBLOCK flag is set for the file descriptor
               and  the  process  would  be  delayed in the write
               operation.


     EBADF     The file descriptor underlying the stream file  is
               not open for writing or the stream's buffer needed
               to be flushed and the file is not open.


     EFBIG     An attempt was made to write a file  that  exceeds
               the  maximum  file size or the process's file size
               limit, or the  file  is  a  regular  file  and  an
               attempt  was made to write at or beyond the offset
               maximum associated with the corresponding stream.


     EINTR     The write operation  was  terminated  due  to  the
               receipt of a signal, and no data was transferred.


     EINVAL    The whence  argument  is  invalid.  The  resulting
               file-position indicator would be set to a negative
               value.




SunOS 5.11           Last change: 1 Nov 2003                    2






Standard C Library Functions                            fseek(3C)



     EIO       A physical I/O error has occurred; or the  process
               is a member of a background process group attempt-
               ing to perform a write(2) operation  to  its  con-
               trolling  terminal,  TOSTOP is set, the process is
               neither ignoring nor  blocking  SIGTOU,  and  the
               process group of the process is orphaned.


     ENOSPC    There was no free space remaining  on  the  device
               containing the file.


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


     EPIPE     The file descriptor underlying stream  is  associ-
               ated with a pipe or FIFO.


     EPIPE     An attempt was made to write to  a  pipe  or  FIFO
               that  is  not  open  for reading by any process. A
               SIGPIPE signal will also be sent  to  the  calling
               thread.



     The fseek() function will fail if:

     EOVERFLOW    The resulting file  offset  would  be  a  value
                  which  cannot  be  represented  correctly in an
                  object of type long.



     The fseeko() function will fail if:

     EOVERFLOW    The resulting file  offset  would  be  a  value
                  which  cannot  be  represented  correctly in an
                  object of type offt.


USAGE
     Although on the UNIX system an offset returned by ftell() or
     ftello()  (see  ftell(3C))  is  measured in bytes, and it is
     permissible to seek to positions relative  to  that  offset,
     portability  to  non-UNIX systems requires that an offset be
     used by fseek() directly.  Arithmetic may  not  meaningfully
     be  performed  on  such  an offset, which is not necessarily
     measured in bytes.




SunOS 5.11           Last change: 1 Nov 2003                    3






Standard C Library Functions                            fseek(3C)



     The fseeko() 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
     getrlimit(2), ulimit(2), fopen(3UCB), ftell(3C), rewind(3C),
     ungetc(3C),   ungetwc(3C),   attributes(5),  lf64(5),  stan-
     dards(5)

































SunOS 5.11           Last change: 1 Nov 2003                    4



OpenSolaris man pages main menu

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