9 Mayıs 2013 Perşembe

File I/O Giriş

1) File tipi pointer tanımla - FILE *fptr1
2) Dosyayı aç - fopen komutu - fptr1 = fopen("dosya.txt","r(reading)") -
    if(fptr1==NULL){
        dosya yoktur
}
    else{
    yapacağın işlemi seç
}

3) Oku - yaz bişiyler yap arkadaş ; fscanf(fptr1,"%..",&) ; fprintf(fptr2,"%..",..) ;
4) fclose(fptr2)

r : reading
w : write(dosya varsa içini siler , dosya yoksa oluşturur)
a : appand(dosya varsa ekler , yoksa oluşturur)
r+ : reading/write (dosya olmak zorunda)
w+ : reading/write (dosya yoksa açar)
a+ : read/append (dosya yoksa oluşturur, varsa sonuna ekler)

txt değilse sonuna b ekle , örnek rb,wb,ab,rb+,wb+ab+
fread(okuduğunu nereye atıcan,sizeof(float-int)kaç byte,kaç tane okuyacan,nereden okuyacan)
fwrite(nereden yazacan,sizeof(float-int)kaç byte,kaç tane yazacan,nereye yazacan)

fseek(file_ptr,offset(+- sayı),location)
SEEK_SET : başlangıç
SEEK_CUR : şu an nerede
SEEK_END : son


ÖRNEK ...
-------------
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#define PI 3.14
#define N 8


int main() {
    int b=5,f;
    float a=13.72, c=6.68, e,g;
  FILE *cikis, *giris;
  cikis=fopen ("d://test.txt","w");
  fprintf(cikis,"%6.2f%2d%5.2f",a,b,c);
  fclose(cikis);

  giris=fopen ("d://test.txt","r");
  fscanf(giris,"%f%d%f",&e,&f,&g);
  fclose(giris);

  printf("%6.2f%2d%5.2f\n",a,b,c);
 
  printf("%6.2f,%2d,%5.2f\n",e,f,g);
}

----------------

örnek



#include <stdio.h>
#include <stdlib.h>
#include <math.h>


int main() {
double x[5];
int i;
  FILE *fp;
  *fp=fopen("d://data.dat","rb+");
  if(fp==NULL)
      printf("Dosya yok");
  else{
  fread(x,sizeof(double),5,fp);
  for(i=0;i<5;i++){
  x[i]=sqrt(1-x[i]*x[i]);
  }
  fwrite(x,8,5,fp); //8 =sizeof(double)//
  fclose(fp);
  }
  for(i=0;i<5;i++);
  printf("%lf",x[i]);
 
}

-----------------

örnek (fwrite)


#include <stdio.h>

 int main(void)
 {
     FILE *file_ptr;
     int iCount;
     char arr[6] = "hello";

     file_ptr = fopen("sample.txt", "w");
     iCount = fwrite(arr, 1, 5, file_ptr);
     fclose(file_ptr);

     return 0;
 }

------------------

örnek(fread)

FILE *fp;
fp=fopen("c:\\test.bin", "wb");
char x[10]="ABCDEFGHIJ";
fwrite(x, sizeof(x[0]), sizeof(x)/sizeof(x[0]), fp);

2 yorum: