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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk