Bagikan melalui


getc, getwc

Membaca karakter dari aliran.

Sintaks

int getc(
   FILE *stream
);
wint_t getwc(
   FILE *stream
);

Parameter

stream
Aliran input.

Nilai hasil

Mengembalikan karakter yang dibaca. Untuk menunjukkan kesalahan baca atau kondisi akhir file, getc mengembalikan EOF, dan getwc mengembalikan WEOF. Untuk getc, gunakan ferror atau feof untuk memeriksa kesalahan atau untuk akhir file. Jika stream adalah NULL, getc dan getwc panggil handler parameter yang tidak valid, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi-fungsi ini mengembalikan EOF (atau WEOF untuk getwc), dan diatur errno ke EINVAL.

Untuk informasi selengkapnya tentang kode pengembalian, lihat errno, , _doserrno_sys_errlist, dan _sys_nerr.

Keterangan

Setiap rutinitas membaca satu karakter dari file pada posisi saat ini dan menaikkan penunjuk file terkait (jika ditentukan) untuk menunjuk ke karakter berikutnya. File dikaitkan dengan stream.

Fungsi-fungsi ini mengunci utas panggilan dan oleh karena itu aman utas. Untuk versi non-penguncian, lihat _getc_nolock, _getwc_nolock.

Sambutan khusus rutin mengikuti.

Rutin Keterangan
getc Sama seperti fgetc, tetapi diimplementasikan sebagai fungsi dan sebagai makro.
getwc Versi karakter luas dari getc. Membaca karakter multibyte atau karakter lebar sesuai dengan apakah stream dibuka dalam mode teks atau mode biner.

Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.

Pemetaan rutin teks generik

TCHAR. Rutinitas H _UNICODE dan _MBCS tidak ditentukan _MBCS Didefinisikan _UNICODE Didefinisikan
_gettc getc getc getwc

Persyaratan

Rutin Header yang diperlukan
getc <stdio.h>
getwc <stdio.h> atau <wchar.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Contoh

// crt_getc.c
// Use getc to read a line from a file.

#include <stdio.h>

int main()
{
    char buffer[81];
    int i, ch;
    FILE* fp;

    // Read a single line from the file "crt_getc.txt".

    fopen_s(&fp, "crt_getc.txt", "r");
    if (!fp)
    {
       printf("Failed to open file crt_getc.txt.\n");
       exit(1);
    }

    for (i = 0; (i < 80) && ((ch = getc(fp)) != EOF)
                         && (ch != '\n'); i++)
    {
        buffer[i] = (char) ch;
    }

    // Terminate string with a null character
    buffer[i] = '\0';
    printf( "Input was: %s\n", buffer);

    fclose(fp);
}

Input: crt_getc.txt

Line one.
Line two.

Hasil

Input was: Line one.

Baca juga

Streaming I/O
fgetc, fgetwc
_getch, _getwch
putc, putwc
ungetc, ungetwc