HPUX getc[3s]



getc in anderen Kapiteln des hpux Handbuch: getc.3f




 getc(3S)                                                           getc(3S)





 NAME
      getc(), getchar(), fgetc(), getw() - get character or word from a
      stream file

 SYNOPSIS
      #include <stdio.h>

      int getc(FILE *stream);

      int getchar(void);

      int fgetc(FILE *stream);

      int getw(FILE *stream);

 DESCRIPTION
      getc()         Returns the next character (i.e., byte) from the named
                     input stream, as an unsigned character converted to an
                     integer.  It also moves the file pointer, if defined,
                     ahead one character in stream.  getchar() is defined as
                     getc(stdin).  getc() and getchar() are defined both as
                     macros and as functions.

      fgetc()        Same as getc(), but is a function rather than a macro.
                     fgetc() is slower than getc(), but it takes less space
                     per invocation and its name can be passed as an
                     argument to a function.

      getw()         returns the next word (i.e., int in C) from the named
                     input stream.  getw() increments the associated file
                     pointer, if defined, to point to the next word.  The
                     size of a word is the size of an integer and varies
                     from machine to machine.  getw() assumes no special
                     alignment in the file.

 RETURN VALUE
      Upon sucessful completion, getc(), getchar(), and fgetc() return the
      next byte from the input stream pointed to by stream (stdin for
      getchar()).  If the stream is at end-of-file, the end-of-file
      indicator for the stream is set and EOF is returned.  If a read error
      occurs, the error indicator for the stream is set, errno is set to
      indicate the error, and EOF is returned.

      Upon sucessful completion, getw() returns the next word from the input
      stream pointed to by stream.  If the stream is at end-of-file, the
      end-of-file indicator for the stream is set and getw() returns EOF.
      If a read error occurs, the error indicator for the stream is set, and
      getw() returns EOF and sets errno to indicate the error.

      ferror() and feof() can be used to distinguish between an error
      condition and an end-of-file condition.



 Hewlett-Packard Company            - 1 -     HP-UX Release 9.0: August 1992






 getc(3S)                                                           getc(3S)





 ERRORS
      getc(), getchar(), getw(), and fgetc() fail if data needs to be read
      into the stream's buffer, and:

           [EAGAIN]       The O_NONBLOCK flag is set for the file descriptor
                          underlying stream and the process would be delayed
                          in the read operation.

           [EBADF]        The file descriptor underlying stream is not a
                          valid file descriptor open for reading.

           [EINTR]        The read operation was terminated due to the
                          receipt of a signal, and either no data was
                          transferred or the implementation does not report
                          partial transfer for this file.

           [EIO]          The process is a member of a background process
                          and is attempting to read from its controlling
                          terminal, and either the process is ignoring or
                          blocking the SIGTTIN signal or the process group
                          of the process is orphaned.

      Additional errno values may be set by the underlying read() function
      (see read(2)).

 SEE ALSO
      fclose(3S), ferror(3S), fopen(3S), fread(3S), gets(3S), putc(3S),
      read(2), scanf(3S).

 WARNING
      getc() and getchar() are implemented both as library functions and
      macros.  The macro versions, which are used by default, are defined in
      <stdio.h>.  To obtain the library function either use a #undef to
      remove the macro definition or, if compiling in ANSI-C mode, enclose
      the function name in parenthesis or use the function address.  The
      following example illustrates each of these methods :

           #include <stdio.h>
           #undef getc
               ...
           main()
           {
               int (*get_char()) ();
                     ...
               return_val=getc(c,fd);
                     ...
               return_val=(getc)(c,fd1);
                     ...
               get_char = getchar;
           };




 Hewlett-Packard Company            - 2 -     HP-UX Release 9.0: August 1992






 getc(3S)                                                           getc(3S)





      If the integer value returned by getc(), getchar(), or fgetc() is
      stored into a character variable then compared against the integer
      constant EOF, the comparison may never succeed because sign-extension
      of a character on widening to integer is machine-dependent.

      The macro version of getc() incorrectly treats a stream argument with
      side effects.  In particular, getc(*f++) does not work sensibly.  The
      function version of getc() or fgetc() should be used instead.
      Because of possible differences in word length and byte ordering,
      files written using putw() are machine-dependent, and may be
      unreadable by getw() on a different processor.

 STANDARDS CONFORMANCE
      getc(): AES, SVID2, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

      fgetc(): AES, SVID2, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

      getchar(): AES, SVID2, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

      getw(): AES, SVID2, XPG2, XPG3, XPG4


































 Hewlett-Packard Company            - 3 -     HP-UX Release 9.0: August 1992