Başlangıç > C, Programlama > stdio.h

stdio.h


Bu dosya, standart girdi/çıktı yordamları tarafından kullanılan yapılar, değerler, makrolar ve fonksiyonlar tanımlar. size_t, va_list, fpos_t ve FILE adlı tipler; BUFSIZ, EOF, NULL, FILENAME_MAX (dosya isimlerinde en büyük karakter sayısı), FOPEN_MAX (aynı anda açık olabilecek en çok dosya sayısı), P_tmpnam (geçici dosyaların açılabileceği altdizin), L_tmpnam (geçici dosya isimlerinin uzunluğu), TMP_MAX (açılabilecek en çok farklı geçici dosya isimleri sayısı), SEEK_CUR, SEEK_END, SEEK_SET, stdin, stdout, stderr, _IOFBF, _IOLBF ve _IONBF değişmezleri bu dosyada tanımlanmışlardır. Fonksiyon prototipleri:

void                    clearerr(FILE *)
int                     fclose(FILE *)
int                     feof(FILE *)
int                     ferror(FILE *)
int                     fflush(FILE *)
int                     fgetc(FILE *)
int                     fgetpos(FILE *, fpos_t *)
char *                  fgets(char *, int, FILE *)
FILE *                  fopen(const char *, const char *)
int                     fprintf(FILE *, const char *, ...)
int                     fputc(int, FILE *)
int                     fputs(const char *, FILE *)
size_t                  fread(void *, size_t, size_t, FILE *)
FILE *                  freopen(const char *, const char *, FILE *)
int                     fscanf(FILE *, const char *, ...)
int                     fseek(FILE *, long, int)
int                     fsetpos(FILE *, const fpos_t *)
long                    ftell(FILE *)
size_t                  fwrite(const void *, size_t, size_t, FILE *)
int                     getc(FILE *)
int                     getchar(void)
char *                  gets(char *)
void                    perror(const char *)
int                     printf(const char *, ...)
int                     putc(int, FILE *)
int                     putchar(int)
int                     puts(const char *)
int                     remove(const char *)
int                     rename(const char *, const char *)
void                    rewind(FILE *)
int                     scanf(const char *, ...)
void                    setbuf(FILE *, char *)
int                     setvbuf(FILE *, char *, int, size_t)
int                     sprintf(char *, const char *, ...)
int                     sscanf(const char *, const char *, ...)
FILE *                  tmpfile(void)
char *                  tmpnam(char *)
int                     ungetc(int, FILE *)
int                     vfprintf(FILE *, const char *, va_list)
int                     vprintf(const char *, va_list)
int                     vsprintf(char *, const char *, va_list)

kaynak

Bazı fonksiyonların işlevleri aşağıda verilmiştir.

fopen (const char* fileName, const char* mode)

            Mode: “r”       read (okuma için açar)

                        “w”     write (dosyaya yazmak için açar)

                        “a”       append(ekleme yapmak için açar)

                        “rb”     read binary(binary okuma yapmak için açar)

                        “wb”   write binary(binary yazma yapmak için açar)

                        “ab”     append binary(binary veri eklemek için açar)

                        “r+”     open file         (okuma ve ekleme yapmak için açar)

                        “w+”   create file (yazmak için dosyayı yaratır, varsa eğer dosyayı siler)

                        “a+”    open file if not exists create it(ekleme yapmak için dosyayı açar eğer dosya yoksa yaratır)

Programda tanımlı bir dosyayı yukarıda verilen modlarda açmayı sağlar.

Örnek:

FILE *fptr2;

    fptr2=fopen(“dosya.txt”,”r”);

fclose(FILE *fileName)

Programın işletimi sırasında açılan dosyayı, gerekn işlemler bittikten sonra kapatmayı sağlar.

Örnek:

fclose(fptr2);

feof(FILE *fileName)

Dosya sonu karakterine gelinip gelinmediğinin kontrolunu sağlamak amacıyla kullanılır.

Örnek

while(!feof(dosya))//dosya sonu olmadığı sürece
          {…}

fflush(FILE *)

Daha çok klavye girişini temizlemek için kullanılır

printf(“\nBir sonraki sayfaya gecmek icin herhangi bir tusa basin.\n\n”);
                fflush(stdin);
                c=getchar();

fgetc(FILE *)

Dosyadan tek bir karakter okumak için kullanılır.

bosluk=fgetc(dosya);

fgets(char * string, int length, FILE * fileName)

Dosyadan istenen uzunlukta(length=karakter sayısı) kelimeyi okuyup string’e almayı sağlar.

fgets(kelime,101,dosya);//101 karakter okuyup kelimeye atar…

fprintf(FILE *, const char *, …)

Dosyaya veri yazmak için kullanılır

fprintf(dosya2,”%s %s”,Turkce_kelime,Ingilizce_anlami);

int ferror (FILE* stream)

 rewind(), clearerr() sonucunda yada dosya kapanana kadar hata bayrakları kurulu olarak kalır.

fputc(int ch, FILE *fileName)

Dosyaya karakter eklemek için kullanılır. fputchar(int ch) ile aynıdır.

while (*str)

                        if (!ferror(fp))  fputc(*str++, fp);

fputs(const char * string, FILE *fileName)

Dosyaya string eklemek için kullanılır.

fputs(kelime,dosya);

fread(void *veri, size_t veriBoyutu, size_t sayısı, FILE *dosya)

dat dosyasından okuma yapılırken kullanılır.veri boyutundan verilen miktarda okunup aynı tip veriye atanıyor.

fread(&ogrenci,sizeof(struct ogrenciVerisi),1,cfptr2);//dosyadan veri okuma islemi yapiliyor…

fscanf(FILE *, const char *, …)

Dosyadan veri alınırkan kullanılır.Alınan veri belirtilen konuma atanır.

fscanf(dosya,”%s”,Turkce_kelime);//dosyadan string alınıp Turkce_kelime değişkenine atanıyor.

 fseek(FILE *, long, int)

dat dosyasında elindeki veriyi kullanarak, istenilen konuma gitmeyi sağlıyor.

 fseek(cfptr2,(no-1)*sizeof(struct ogrenciVerisi),SEEK_SET);//girilen sayi dosyada varsa dosyadaki konumuna gidiliyor…

fread(&ogrenci,sizeof(struct ogrenciVerisi),1,cfptr2);//dosyadan veri okuma islemi yapiliyor…
            if((ogrenci.ogrenci_no)!=Bos_Kayit)//Eger dosyada yoksa atanan ilk degere esit olmamali…
            {…}

 fwrite(const void *, size_t , size_t, FILE *)

dat dosyasına veri yazmak için kullanılır.Veri boyutundan verilen miktarda okunup aynı tip veri yazılır.

fwrite(&ogrenci,sizeof(struct ogrenciVerisi),1,cfptr2);//ogrenciler dat dosyasina  veri yazdiriliyor…

rewind(FILE *)

Dosyanın başına dönmek için kullanılıyor.

rewind(cfptr);//dosyanin basina donuluyor…

getc(FILE *)

stdin ile birlikte kullanıldığında klavye girişinden karakter almayı sağlar.

char x=getc(stdin);

getchar(void)

Klavye girşinden karakter almayı sağlar.

fflush(stdin);//önce giris temizlenir
 c=getchar();

gets(char *)

Klavye ile girilen stringi belitilen string yapısına almayı sağlar.

gets(metin);//veriyi metin stringine  alıyor…

putc(int, FILE *)

Dosyaya karakter ekler.putchar(int) de aynı işe  yarar.

putc(‘a’, dosyapoint);  /* bir karakter yaz  */
 putc(‘\n’,dosyapoint);             /* bir de <RETURN>   */

printf(const char *, …)

Ekran çıktısı için kullanılır.Verileri  ekrana yazdırır.

printf(“Merhaba”);

printf(“%d %c”, sayi, karakter);

%c -> karakter için

%d-> tamsayı için

%ld-> long int için

%f->float için

%s->string için …

remove(const char *)

Karakter dizisi olarak belirlenen verinin silinmesini sağlar….

rename(const char *, const char *)

İlk verinin ismi ikinci veriyle değiştirilir.

 remove(“notlar.dat”);//notlar dat siliniyor…
  rename(“gecici.dat”,”notlar.dat”);//secili verilerin yazdirildigi gecici dat ın adi degistiriliyor…
            printf(“\nSilme islemi gerceklesmistir.\n”);

 scanf(const char *, …)

Standart giriş fonksiyonlarından. Girilen verinin, belirtilen değişkene alınmasını sağlar.

printf(“\nOgrenci numarasini girin: “);
        scanf(“%d”,&no);

Reklamlar
  1. Henüz yorum yapılmamış.
  1. Eylül 4, 2010, 9:41 pm

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

%d blogcu bunu beğendi: