File Processing

1. Definisi File

  1. Text File disimpan dalam format teks atau file ASCII


  • Ukuran penyimpanan tergantung pada datanya: 10.000 membutuhkan 5 byte.
  • Dapat dibuka dengan aplikasi editor teks standar.
  • atau c:>TYPE file_name.

      2. Binary File 
  • BINARY FILE menyimpan data numerik dalam format yang ditempelkan sesuai dengan definisi format prosesor mikro (contoh: komposisi format tanda 2).

2. Buffer Area
  • Buffer area adalah bagian dari memori yang digunakan sebagai ruang sementara sebelum data dipindahkan ke file.
  • Syntax:
      FILE *fp; 
  • Dimana fp adalah file pointer yang merujuk ke awal area buffer.
  • Juga dikenal sebagai stream pointer.

3. Open File
  • Membuka file menggunakan fopen():
FILE *fopen (const char *filename, const char *mode );
  • fopen() terdefinisi di <stdio.h>
  • fopen() mengembalikan pointer ke area awal buffer. Null akan dikembalikan jika file tidak dapat dibuka.
  • Mode pada file open:
Mode        Description

  “r”  opening a file to be read.
  “w”  creating a file to be written.
  “a”  opening a File for data append.
  “r+”  opening a File for read/write.
  “w+”  creating file for read/write.
  “a+”  opening a File for read/append
  “rb”    opening a File (binary) to be read.
  “wb”  creating a file (binary) for write operation.


4. Close File
  • Menutup file menggunakan fclose():
int fclose (FILE *stream);
  • fclose() terdefinisi pada <stdio.h>
  • fclose() akan membalikkan 0 jika sukses, dan EOF jika error.
  • EOF(End of File) setara dengan -1
  • fclose() akan merilis area buffer dan segera mengirim data yang tersisa ke file.
5. Input & Output File

1. fgetc(INPUT)
  • Membaca satu karakter dari sebuah file.
  • fgetc(stdin) ekuivalen dengan getchar()
  • Syntax: int fgetc (FILE *stream);
  • Membalikkan karakter jika sukses, dan EOF jika error.
2. fputc(OUTPUT)
  • Menulis satu karakter ke dalam file.
  • fputc('a', stdout) sama dengan putchar('a')
  • Syntax: int fputc (int c, FILE *stream);
  • Membalikkan karakter jika sukses, dan EOF jika error.
3. fscanf(INPUT)
  • Syntax:
int fscanf( FILE *stream, const char *format [, argument ]... );
  • Membaca data dari file segaris dengan pengformatan scanf.
  • Mengembalikan number of field rea jika berhasil dan EOF jika error.
4. fprintf(OUTPUT)
  • Syntax:
int fprintf( FILE *stream, const char *format [, argument ]...);
  • Menulis data ke sebuah file menggunakan format printf
  • Mengembalikan angka dari byte yang tertulis jika sukses dan nilai negatif jika error.
5. fwrite
  • Syntax:
size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream ); 
  • Menulis blok data dalam buffer area ke dalam file.
  • Mengembalikan angka dari byte data yang tertulis, dan error jika sebaliknya.
6. fread
  • Syntax:
size_t fread( void *buffer, size_t size, size_t count, FILE *stream ); 
  • Membaca ukuran blok data dari file.
7. feof
  • Syntax:
int feof( FILE *stream );
  • Mencari tahu apakah pointer sudah mencapai end-of-file
  • Return 0 jika tidak end-of-file














Comments