BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <stdio.h>

<stdio.h>

C Programlama Dili'nde giriş ve çıkış işlemleri, stdio.h başlık dosyasında yer alan C standart giriş ve çıkış kütüphanesindeki fonksiyon, değişken, sabit ve diğer değerler kullanılarak yapılır. Bu kitaplık, klavyeler, yazıcılar, terminaller gibi fiziksel aygıtlarla veya sistem tarafından desteklenen diğer dosya türleriyle çalışmak için akış adı verilenleri kullanır.

Bu kütüphaneyi kullanarak, bilgisayardaki klavye, ekran, disk sürücü veya port'lara erişim sağlayarak işlem yapabiliriz. Bilgisayar bileşenlerine erişim için mantıksal bir arabirim görevi yapan Akış adı verilen bir kavram kullanılır.

Fonksiyonlar

Fonksiyon adı Açıklama
clearerr

void clearerr(FILE *stream);

Verilen dosya akışı için EOF ve hata göstergelerini siler.

fclose

int fclose(FILE *stream);

Verilen dosya akışını kapatır. Tüm tamponlar silinir.

feof

int feof(FILE *stream);

Parametrede gösterilen dosya akışının sonuna erişilip erişilmediğini kontrol eder.

ferror

int ferror(FILE *stream);

Verilen dosya akışı için hata göstergesini kontrol eder.

fflush

int fflush(FILE *stream);

Verilen dosya akışı için hata göstergesini kontrol eder.

fgetc getc

int fgetc(FILE *stream);

Verilen dosya akışı içinde, bir sonraki karakteri (unsigned char) okur ve konum göstergesini bir ileri taşır.

fgetpos

int fgetpos(FILE *stream, fpos_t *pos);

Akışın aktif dosya konumunu alır ve pos değişkenine yazar.

fgets

char* fgets(char *str, int count, FILE *stream);

Üçüncü parametrede verilen dosya akışından en fazla ikinci parametre değerinin 1 eksiği kadar karakter okur ve okuduğu karakterleri ilk parametrede ile gösterilen karakter dizisine atar.

fopen

fopen_s (C11)

FILE* fopen(const char *filename, const char *mode);

Verilen dosya adını mode değerine uygun olarak açar.

fprintf

fprintf_s (C11)

int fprintf(FILE *stream, const char *format, ...);

Bir karakter dizisi içinde format tanımlayıcıları ile tanımlanan değerleri bir dosya akışına yazar.

fputc putc

int fputc(int char, FILE *stream);

Verilen karakteri (unsigned char) akış içine yazar ve konum göstergesini bir ileri taşır.

fputs

int fputs(const char *str, FILE *stream);

Verilen karakter dizisini, karakter dizisi sonunda bulunan NULL değer hariç, akışa yazar.

fread

size_t fread(void *ptr, size_t size, size_t count, FILE *stream);

Verilen akıştan okuduğu değeri ptr ile gösterilen işaretçi adresine yazar.

freopen

freopen_s (C11)

FILE* freopen(const char *filename, const char *mode, FILE *stream);

Yeni bir dosya adını verilen açık akışla ilişkilendirir ve aynı zamanda akıştaki eski dosyayı kapatır.

fscanf

fscanf_s (C11)

int fscanf(FILE *stream, const char *format, ...);

Bir dosya akışından okuduğu değerleri değişkenlere atar.

fseek

int fseek(FILE *stream, long offset, int origin);

Dosya akışına ait dosya konum göstergesini origin parametre değerinde yer alan değere göre offset parametre değeri ile gösterilen değere ayarlar.

fsetpos

int fsetpos(FILE *stream, const fpos_t *pos);

Verilen akışın dosya konumunu verilen konuma ayarlar.

ftell

long ftell(FILE *stream);

Verilen akışın geçerli dosya konumunu döndürür.

fwrite

size_t fwrite(void *ptr, size_t size, size_t count, FILE *stream);

Fonksiyona geçirilen ptr adresindeki değeri verilen akışa yazar.

getchar

int getchar(void);

Klavyeden girilen bir karakteri okur.

gets

gets_s (C11)

char* gets(char *str);

Klavyeden girilen bir karakter dizisi okur.

perror

void perror(const char *str);

Oluşan hatayı ekrana yazar.

printf

printf_s (C11)

int printf(const char *format, ...);

Bir karakter dizisi içinde format tanımlayıcıları ile tanımlanan değerleri ekrana yazar.

putchar

int putchar(int char);

Bir karakteri ekrana yazar.

puts

int puts(const char *str);

Bir karakter dizisini ekrana yazar.

remove

int remove(const char *filename);

Adı verilen dosyayı siler.

rename Adı verilen dosyanın adını değiştirir.
rewind

int rename(const char *oldname, const char *newname);

Verilen akışın dosya konumunu dosyanın başına alır.

scanf

scanf_s (C11)

int scanf(const char *format, ...);

Klavyeden okuduğu değerleri değişkenlere atar.

setbuf

void setbuf(FILE *stream, char *buffer);

Bir dosya akışı için ara bellek ayarlaması yapar.

setvbuf

int setvbuf(FILE *stream, char *buffer, int mode, size_t size);

Bir dosya akışı için ara bellek düzenlemesi yapar.

snprintf (C99)

snprintf_s (C11)

int snprintf(char *restrict buffer, size_t bufsize, const char *restrict *format, ...);

Bir karakter dizisi içinde format tanımlayıcıları ile tanımlanan değerleri boyutu belirli bir karakter dizisi içine yazar.

sprintf

sprintf_s (C11)

int sprintf(char *buffer, const char *format, ...);

Bir karakter dizisi içinde format tanımlayıcıları ile tanımlanan değerleri bir karakter dizisi içine yazar.

sscanf

sscanf_s (C11)

int sscanf(const char *buffer, const char *format, ...);

Bir karakter dizisinden okuduğu değerleri değişkenlere atar.

tmpfile

tmpfile_s (C11)

FILE* tmpfile(void);

Güncelleme modunda (wb+) geçici bir ikili sistem dosyası açar.

tmpnam

tmpnam_s (C11)

char* tmpnam(char *filename);

Mevcut olmayan geçici bir dosya oluşturarak adını döndürür.

ungetc

int ungetc(int char, FILE *stream);

Verilen karakteri (unsigned char) tanımlanan akışa geri gönderir.

vfprintf

vfprintf_s (C11)

int vfprintf(FILE *stream, const char *format, va_list arg);

Yapılandırılmış çıkışı bir argüman listesi kullanarak dosya akışına gönderir.

vfscanf (C99)

vfscanf_s (C11)

int vfscanf(FILE *stream, const char *format, va_list arg);

Bir dosya akışından okuduğu verileri bir argüman listesi içinde tanımlanan değişken adreslerine aktarır.

vprintf

vprintf_s (C11)

int vprintf(const char *format, va_list arg);

Yapılandırılmış çıkışı bir argüman listesi kullanarak standart çıkışa (stdout) gönderir.

vscanf (C99)

vscanf_s (C11)

int vscanf(const char *format, va_list arg);

Klavyeden okuduğu verileri bir argüman listesi içinde tanımlanan değişken adreslerine aktarır.

vsnprintf (C99)

vsnprintf_s (C11)

int vsnprintf(char *restrict buffer, size_t bufsz, const char *restrict format, va_list arg);

Yapılandırılmış çıkışı bir argüman listesi kullanarak boyutu belirli bir karakter dizisine yazar.

vsprintf

vsprintf_s (C11)

int vsprintf(char *buffer, const char *format, va_list arg);

Yapılandırılmış çıkışı bir argüman listesi kullanarak bir karakter dizisine yazar.

vsscanf (C99)

vsscanf_s (C11)

int vsscanf(const char *buffer, const char *format, va_list arg);

Bir karakter dizisinden okuduğu verileri bir argüman listesi içinde tanımlanan değişken adreslerine aktarır.

Veriler

Veri türü adı Açıklama
FILE Bir dosya ile ilgili giriş veya çıkış işlemleri yapmak için, dosya veya akış hakkında bilgiler içeren bir veridir.
fpos_t Dosyanın konumunu göstermek için kullanılan long veya long olarak tanımlanan bir veri türüdür.
size_t Unsigned integer olarak tanımlanan bir veri türüdür.

Makro değişkenler

Değişken adı Açıklama
stdin Standart giriş akışını gösteren bir işaretçi tanımlayan bir makrodur.
stdout Standart çıkış akışını gösteren bir işaretçi tanımlayan bir makrodur.
stdin Standart hata akışını gösteren bir işaretçi tanımlayan bir makrodur.

Makro sabitler

Sabit adı Açıklama
BUFSIZ Setbuf() fonksiyonu tarafından kullanılan arabelleğin boyutunu belirleyen bir int değeridir.
EOF Dosya sonu durumunu belirten bir negatif int bir değerdir.
FILENAME_MAX Açılan bir dosya adını yüklemek için kullanılacak bir char dizinin azami boyutunu belirler.
FOPEN_MAX Eşzamanlı olarak açılabilecek dosya sayısını gösterir.
_IOFBF Bir kısaltma (Giriş/Çıkış Tamamen Tamponlu - Input/Output Fully Buffered) olup 0x0000 değerini taşır. Açık bir akış için tamamen tamponlanmış giriş ve çıkış talebi için setvbuf() fonksiyonuna geçirilebilecek bir tamsayıdır.
_IOLBF Bir kısaltma (Giriş/Çıkış Satır Tamponlu - Input/Output Line Buffered) olup 0x0040 değerini taşır. Açık bir akış için satır olarak tamponlanmış giriş ve çıkış talebi için setvbuf() fonksiyonuna geçirilebilecek bir tamsayıdır.
_IONBF Bir kısaltma (Giriş/Çıkış Tamponlanmamış - Input/Output Not Buffered) olup 0x0004 değerini taşır. Açık bir akış için tamponlanmamış giriş ve çıkış talebi için setvbuf() fonksiyonuna geçirilebilecek bir tamsayıdır.

L_tmpnam

L_tmpnam_s (C11)

Tmpnam() fonksiyonu tarafından oluşturulan geçici bir dosya adını yüklemek için kullanılan bir char dizinin boyutunu gösterir.

Tmpnam_s() fonksiyonu tarafından oluşturulan geçici bir dosya adını yüklemek için kullanılan bir char dizinin boyutunu gösterir.

NULL Boş işaretçi sabiti olan bir makrodur.
SEEK_CUR Geçerli dosya konumuna göre konumlandırma talebi için fseek() fonksiyonuna geçirilebilecek bir int değerdir.
SEEK_END Dosya sonuna konumuna göre konumlandırma talebi için fseek() fonksiyonuna geçirilebilecek bir int değerdir.
SEEK_SET Dosya başına göre konumlandırma talebi için fseek() fonksiyonuna geçirilebilecek bir int değerdir.

TMP_MAX

TMP_MAX_S (C11)

Tmpnam() fonksiyonu tarafından oluşturulan azami benzersiz dosya adı sayısını gösterir.

Tmpnam_s() fonksiyonu tarafından oluşturulan azami benzersiz dosya adı sayısını gösterir.