Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getchar_unlocked(3S) — DG/UX 5.4R3.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

reentrant(3)

fclose(3S)

ferror(3S)

flockfile(3S)

fopen(3S)

fread(3S)

gets(3S)

putc(3S)

scanf(3S)

stdio(3S)

ungetc(3S)



getc(3S)                       DG/UX 5.4R3.00                       getc(3S)


NAME
       getc, getcunlocked, getchar, getcharunlocked, fgetc, getw - get
       character or word from a stream

SYNOPSIS
       #include <stdio.h>

       int getc (FILE *stream);

       int getcunlocked (FILE *stream);

       int getchar (void);

       int getcharunlocked (void);

       int fgetc (FILE *stream);

       int getw (FILE *stream);

DESCRIPTION
       getc and getcunlocked return the next character (i.e., byte) from
       the named input stream [see intro(3)] as an unsigned char converted
       to an int.  It also moves the file pointer, if defined, ahead one
       character in stream.  getchar and getcharunlocked are defined as
       getc(stdin) and getcunlocked(stdin) respectively.  getc and getchar
       are macros.

       fgetc behaves like getc, but is a function rather than a macro.
       fgetc runs more slowly 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., integer) 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.

       The getcunlocked and getcharunlocked functions work like getc and
       getchar except they are not reentrant and must be used within a scope
       protected by calls to flockfile and funlockfile.

   Considerations for Threads Programming
                 +-----------------+-----------------------------+
                 |                 |                      async- |
                 |function         | reentrant   cancel   cancel |
                 |                 |              point    safe  |
                 +-----------------+-----------------------------+
                 |fgetc            |     Y          Y        N   |
                 |getc             |     Y          Y        N   |
                 |getcunlocked    |     N          -        -   |
                 |getchar          |     Y          Y        N   |
                 |getcharunlocked |     N          -        -   |
                 |getw             |     Y          N        N   |
                 +-----------------+-----------------------------+



Licensed material--property of copyright holder(s)                         1




getc(3S)                       DG/UX 5.4R3.00                       getc(3S)


SEE ALSO
       reentrant(3), fclose(3S), ferror(3S), flockfile(3S), fopen(3S),
       fread(3S), gets(3S), putc(3S), scanf(3S), stdio(3S), ungetc(3S).

DIAGNOSTICS
       These functions return the constant EOF at end-of-file or upon an
       error and set the EOF or error indicator of stream, respectively.  If
       the stream was not open for reading, errno will be set to EBADF.
       Because EOF is a valid integer, ferror should be used to detect getw
       errors.

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

       The macro version of getc evaluates a stream argument more than once
       and may treat side effects incorrectly.  In particular, getc(*f++)
       does not work sensibly.  Use fgetc instead.

       Because of possible differences in word length and byte ordering,
       files written using putw are implementation dependent, and may not be
       read using getw on a different processor.

       Functions exist for all the above-defined macros.  To get the
       function form, the macro name must be undefined (e.g., #undef getc).





























Licensed material--property of copyright holder(s)                         2


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026