File Processing
Penggunaan operasi FILE dalam sebuah program sangat dibutuhkan dalam pembuatan program yang sesungguhnya. Kita membutuhkan file sebagai tempat penampung data-data selama operasi program. Jika kamu menggunakan variabel biasa, data yang biasanya diolah program hanya akan tersimpan sementara dalam memory dan akan hilang ketika program close. Berbeda dengan memory, penyimpanan data berbasis file akan tersimpan terus walaupun program telah diclose maupun komputer telah di shutdown.
Pada dasarnya, operasi file terbagi 3 jenis. Read (R), Write(W), dan Append(A). Read artinya membaca isi file, write menulis data ke file dan append menambahkan data ke baris terakhir dalam file.
Jenis Operasi File
•      r menyatakan file hanya akan dibaca, jika file belum ada maka tidak akan berhasil
•      w menyatakan bahwa file baru diciptakan. Jika file tersebut sudah ada dalam disk, isinya yang lama akan terhapus
•      a untuk membuka file yang sudah ada untuk ditambah dengan data, jika file belum ada akan dibuat yang baru
•      r+ sama dengan “r” tetapi selain file dapat dibaca, file juga dapat ditulisi
•      w+ sama dengan “w” tetapi selain file dapat ditulisi, file juga dapat dibaca
•      a+ sama dengan “w” tetapi selain file dapat ditulisi, file juga dapat dibaca

Input Output standard 
fungsi untuk membaca dan menulis :
scanf   sscanf   getchar  getch   gets   printf   putchar  puts

Membuka File atau Membuat File
 
Fungsi fopen() digunakan untuk membuat file baru atau untuk membuka file yang sudah ada.
 
Sintaks Umum:
 
* fp = FILE * fopen (const char * filename, const char * mode);
 
Di sini, * fp adalah penunjuk FILE (FILE * fp), yang akan memegang referensi ke file yang dibuka (atau dibuat).
Menutup File
Fungsi fclose () digunakan untuk menutup file yang sudah dibuka.
Sintaks Umum:
int fclose (FILE * fp);
Di sini fclose () fungsi menutup file dan mengembalikan nol pada sukses, atau EOF jika ada kesalahan dalam menutup file. EOF ini didefinisikan secara konstan dalam file header stdio.h.
Contohnya Codingan :

#include<stdio.h>
#include<string.h>
FILE *fp;

struct orang{
   char nama[101];
   int age;
};

int count=0;
void add_data(struct orang binus[],char nama[],int age){
   strcpy(binus[count].nama,nama);
   binus[count].age=age;
   count++;
}
Keterangan : untuk menambahkan data ke struct dan count untuk menghitung udah berapa data yang diinput

void view_data(struct orang binus[]){
   for(int l=0; l<count; l++){
        printf("%s %d\n",binus[l].nama,binus[l].age);
   }
}
Keterangan : untuk menampilkan data
void write_file(struct orang binus[]){
   fp=fopen("testdata.in","w");
   for(int l=0; l<count; l++){
        fprintf(fp,"%s@%d\n",binus[l].nama,binus[l].age);
   }
   fclose(fp);
}
Keterangan : untuk menuliskan data

void read_file(struct orang binus[]){
   fp=fopen("testdata.in","r");
   while(!feof(fp)){
        fscanf(fp,"%[^@]@%d\n",&binus[count].nama,&binus[count].age);
        count++;
   }
   fclose(fp);
}
Keterangan : untuk membaca data


int main(){
   struct orang binus[200];
   char nama[100];
   int age;
   read_file(binus);
   scanf("%[^\n]",&nama);
   scanf("%d",&age);
   add_data(binus,nama,age);
   view_data(binus);
   write_file(binus);
  
   return 0;
}

 

Comments

Popular posts from this blog