Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      fgetc, getc

      From cppreference.com
      <c‎ |io
       
       
      File input/output
      Types and objects
      Functions
      File access
      Unformatted input/output
      (C95)(C95)
      (C95)
      (C95)(C95)
      (C95)
      (C95)

      Formatted input
       
      Defined in header<stdio.h>
      int fgetc(FILE* stream);
      (1)
      int getc(FILE* stream);
      (2)
      1) Reads the next character from the given input stream.
      2) Same asfgetc, except that ifgetc is implemented as a macro, it may evaluate stream more than once, so the corresponding argument should never be an expression with side effects.

      Contents

      [edit]Parameters

      stream - to read the character from

      [edit]Return value

      On success, returns the obtained character as anunsignedchar converted to anint.On failure, returnsEOF.

      If the failure has been caused by end-of-file condition, additionally sets theeof indicator (seefeof()) onstream. If the failure has been caused by some other error, sets theerror indicator (seeferror()) onstream.

      [edit]Example

      Run this code
      #include <stdio.h>#include <stdlib.h> int main(void){constchar* fname="/tmp/unique_name.txt";// or tmpnam(NULL);int is_ok=EXIT_FAILURE; FILE* fp=fopen(fname,"w+");if(!fp){perror("File opening failed");return is_ok;}fputs("Hello, world!\n", fp);rewind(fp); int c;// note: int, not char, required to handle EOFwhile((c= fgetc(fp))!=EOF)// standard C I/O file reading loopputchar(c); if(ferror(fp))puts("I/O error when reading");elseif(feof(fp)){puts("End of file is reached successfully");        is_ok=EXIT_SUCCESS;} fclose(fp);remove(fname);return is_ok;}

      Possible output:

      Hello, world!End of file is reached successfully

      [edit]References

      • C23 standard (ISO/IEC 9899:2024):
      • 7.21.7.1 The fgetc function (p: TBD)
      • 7.21.7.5 The getc function (p: TBD)
      • C17 standard (ISO/IEC 9899:2018):
      • 7.21.7.1 The fgetc function (p: 240-241)
      • 7.21.7.5 The getc function (p: 242)
      • C11 standard (ISO/IEC 9899:2011):
      • 7.21.7.1 The fgetc function (p: 330)
      • 7.21.7.5 The getc function (p: 332)
      • C99 standard (ISO/IEC 9899:1999):
      • 7.19.7.1 The fgetc function (p: 296)
      • 7.19.7.5 The getc function (p: 297-298)
      • C89/C90 standard (ISO/IEC 9899:1990):
      • 4.9.7.1 The fgetc function
      • 4.9.7.5 The getc function

      [edit]See also

      reads a character fromstdin
      (function)[edit]
      (removed in C11)(C11)
      reads a character string fromstdin
      (function)[edit]
      writes a character to a file stream
      (function)[edit]
      puts a character back into a file stream
      (function)[edit]
      C++ documentation forfgetc,getc
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/io/fgetc&oldid=172389"

      [8]ページ先頭

      ©2009-2025 Movatter.jp