cstdio (C STandarD Input Output) atau stdio (STandarD Input Output) merupakan header yang berisi fungsi-fungsi, makro dan tipe yang digunakan untuk melakukan operasi input output. Pustaka ini menggunakan apa yang disebut dengan streams untuk beroperasi dengan peralatan, seperti keyboard, printer, standard input stream, serial port, file dan lain sebagainya.
cstdio
merupakan header yang ada di C++ untuk melakukan pengoprasian C-style input output sedangkanstdio
merupakan header standar untuk input output di C dan dapat juga digunakan di C++
Input Output Streams adalah sebuah objek bertipe FILE yang hanya bisa diakses dan dimanipulasi menggunakan tipe pointer FILE*
Terdapat tiga jenis standar streams, yaitu stdin
(STandarD Input), stdout
(STandarD Output) dan stderr
(STandarD ERRor) yang secara otomatis dibuat dan dibuka untuk semua program yang menggunakan pustaka ini.
Streams mempunyai sifat yang mendefinisikan fungsi mana yang akan digunakan untuk memperlakukan data yang di-input atau output.
- Akses baca/tulis, menentukan apakah stream membaca atau menulis.
- Text/binary, text stream merupakan kumpulan karakter yang diakhiri dengan karakter new line. Sedangkan binary stream adalah barisan karakter yang dibaca atau ditulis ke peralatan tanpa perubahan.
- Buffer, blok memori dimana data terkumpul sebelum dibaca atau ditulis ke file atau peralatan yang bersangkutan.
- Orientasi, streams yang baru dibuka tidak mempunyai orientasi. Setelah terjadi operasi pada input output, streams memjadi byte-oriented atau wide-oriented, tergantung operasi yang dilakukan.
Streams mempunyai 3 indikator yang menandakan kondisi sekarang dan pengaruhnya terhadap operasi input output yang dilakukan, yaitu:
- Indikator kesalahan, diatur ketika terjadi kesalahan operasi pada stream
- Indikator End Of File (EOF), menandakan bahwa operasi baca atau tulis telah mencapai akhir dari file
- Indikator posisi, merupakan sebuah penunjuk yang menunjuk ke karakter berikutnya yang akan dibaca atau ditulis pada operasi input output.
Fungsi
Operasi pada file
-
remove
untuk menghapus file -
rename
untuk mengubah nama file -
tmpfile
untuk membuka file sementara -
tmpnam
untuk menghasilkan nama file sementara
Akses file
-
fclose
untuk menutup file -
fflush
untuk flush stream -
fopen
untuk membuka file -
freopen
untuk membuka stream dengan file atau cara berbeda -
setbuf
untuk mengatur stream buffer -
setvbuf
untuk mengubah stream buffering
Input Output berformat
-
fprintf
untuk menulis data berformat ke stream -
fscanf
untuk membaca data berformat dari stream -
printf
untuk menulis data berformat ke stdout -
scanf
untuk membaca data berformat dari stdin -
snprintf(C99) / (C++11)
untuk menulis keluaran berformat ke buffer berukuran -
sprintf
untuk menulis data berformat ke string -
sscanf
untuk membaca data berformat dari string -
vfprintf
untuk menulis data berformat dari daftar argumen variabel ke stream -
vfscanf(C99) / (C++11)
untuk membaca data berformat dari stream ke daftar argumen variabel -
vprintf
untuk menulis data berformat dari daftar argumen variabel ke stdout -
vscanf(C99) / (C++11)
untuk membaca data berformat ke daftar argumen variabel -
vsnprintf(C99) / (C++11)
untuk menulis data berformat dari daftar argumen variabel ke buffer berukuran -
vsprintf
untuk menulis data berformat dari daftar argumen variabel ke string -
vsscanf(C99) / (C++11)
untuk membaca data berformat dari string ke daftar argumen variabel
Input Output karakter
-
fgetc
untuk membaca karakter dari stream -
fgets
untuk membaca string dari string -
fputc
untuk menulis karakter ke stream -
fputs
untuk menulis string ke stream -
getc
untuk membaca karakter dari stream -
getchar
untuk membaca karakter dari stdin -
getsdihapus di C11 dan C++14
untuk membaca string dari stdin -
gets_s(C11)
untuk membaca string dari stdin -
putc
untuk menulis karakter ke stream -
putchar
untuk menulis karakter ke stdout -
puts
untuk menulis string ke stdout -
ungetc
untuk meletakkan kembali karakter ke stream
Input Output langsung
Pengaturan posisi dalam file
-
fgetpos
untuk mengambil posisi sekarang dari stream -
fseek
untuk memposisikan kembali posisi indikator stream -
fsetpos
untuk mengatur posisi indikator stream -
ftell
untuk mengambil posisi sekarang di stream -
rewind
mengatur posisi stream ke awal
Penanganan kesalahan
-
clearerr
untuk menghapus indikator-indikator kesalahan -
feof
indikator untuk memeriksa akhir dari file (end of file (EOF)) -
ferror
indikator untuk memeriksa kesalahan -
perror
untuk mencetak pesan kesalahan
Makro
-
stdin
ekspresi tipe FILE* yang berkaitan dengan input stream -
stdout
ekspresi tipe FILE* yang berkaitan dengan output stream -
stderr
ekspresi tipe FILE* yang berkaitan dengan kesalahan output stream -
BUFSIZ
ukuran buffer -
EOF
End Of File (akhir dari file) -
FILENAME_MAX
panjang maksimum nama file -
FOPEN_MAX
batas potensi dari stream yang terbuka bersamaan -
L_tmpnam
panjang minimum nama file sementara -
NULL
NULL pointer -
TMP_MAX
jumlah file-file sementara
Tipe
-
FILE
objek yang berisi informasi untuk mengontrol sebuah stream -
fpos_t
objek yang berisi informasi untuk menentukan posisi di dalam sebuah file -
size_t
tipe unsigned integral
I am in fact pleased to glance at this weblog posts which carries lots
of useful data, thanks for providing such statistics.