Berikut adalah contoh operasi file didalam pemrograman bahasa C :
Contoh 1
Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.
Contoh 1
/* -------------------------------------------- */
/* file program : BACAACAK.C */
/* untuk melihat isi file secara random */
/* -------------------------------------------- */
#include "stdio.h"
#include "conio.h"
main()
{
struct
{
char judul[26];
char pengarang[20];
int jumlah;
}buku; /* variabel buku bertipe integer */
FILE *pf; /* pinter file */
char ulang;
int nmr_record, hasil_baca;
long int ofset_byte;
clrscr();
/* buka file yan berisi data buku */
if((pf=fopen("DAFBUKU.DAT","rb"))==NULL)
{
cputs("File tak dapat dibuka !\r\n");
exit(1);
}
/* baca record scara random */
ulang ='Y';
while(ulang == 'y' || ulang == 'Y')
{
cputs("\r\nNomor record dari data");
cputs("yang ingin anda ketahui: ");
scanf("%d",&nmr_record);
ofset_byte=(nmr_record-1)*sizeof(buku);
fseek(pf,ofset_byte, SEEK_SET);
hasil_baca=fread(&buku,sizeof(buku),1,pf);
if(hasil_baca==0)
{
cprintf("Nomor record tak absah !\r\n");
continue; /* kembali kewhile */
}
cprintf("judul buku : %-s\r\n",buku.judul);
cprintf("Pengarang : %-s\r\n",buku.pengarang);
cprintf("jumlah Buku : %d\r\n",buku.jumlah);
cputs("\r\nMau mencari informasi lagi (Y/T)?");
ulang = getche();
}
/* tutup file */
fclose(pf);
}Contoh 2/* ----------------------------------------- */
/* file program : COPYC.C */
/* contoh menyalin sembarang file teks */
/* ----------------------------------------- */
# include "stdio.h"
# include "conio.h"
# include "fcntl.h"
# include "io.h"
# define PANJANG 256
# define UKURAN 2048
char buffer[UKURAN]; /* penampung file sebesar 2KB */
main()
{
int file_inp, file_out;
long int byte_terbaca;
char string[PANJANG];
char namafile_inp[65],
namafile_out[65];
clrscr();
cprintf("PROGRAM UNTUK MENYALIN SEMBARANG FILE \r\n");
cprintf("Nma file input : ");
gets(namafile_inp);
cprintf("Nama fie output : ");
gets(namafile_out);
/* buka file input */
_fmode=O_BINARY;
if((file_inp=_open(namafile_inp,O_RDONLY))==-1)
{
cputs("File input tak dapat dibuka !\r\n");
getch();
exit(1);
}
/* buka file output */
if((file_out=_creat(namafile_out,0))==-1)
{
cputs("File output takdapat dibuka !\r\n");
getch();
exit(1);
}
/* proses menyalin file */
for( ; ; )
{
byte_terbaca=_read(file_inp,buffer,sizeof(buffer));
if(byte_terbaca==0L)break;
_write(file_out,buffer,byte_terbaca);
}
/* menutup file */
close(file_inp);
close(file_out);
getch();
}Contoh 3/* ------------------------------ */
/* file program : CTYPE.C */
/* program untuk menampilkan isi file */
/* ke layar atau keprinter */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"
#include "ctype.h"
#define PANJANG 256
main()
{
FILE *f_teks,*piranti_keluaran;
char string[PANJANG],
pilihan, namafile[65];
/* pemasukan anama file yang akan dibaca dan pemilihan piranti keluaran */
directvideo=0;
cputs("PROGRAM UNTUK MENAMPILKAN ISI FILE TEKS");
cputs("\r\nNama file : ");
gets(namafile);
cputs("\r\nIngin ditampilkan ke printer atau layar : ");
cputs("\r\nP--> printer L--> layar : ");
do
pilihan=toupper(getch());
while(!((pilihan=='L')|(pilihan=='P')));
cprintf("%c\r\n",pilihan); /* tampilkan ke layar */
/* membuat file input ----------------------------- */
if((f_teks=fopen(namafile,"r"))==NULL)
{
cputs("File input tak dapat dibuka!\r\n");
getch();
exit(1);
}
/* penugasan piranti keluaran */
if(pilihan=='P')
piranti_keluaran=stdprn; /* printer */
else
piranti_keluaran=stdout; /* layar */
/* baca string dari file selama masih ada */
while((fgets(string,PANJANG,f_teks))!=NULL)
/* tampilkan kepiranti nalar : layar/printer */
fprintf(piranti_keluaran,"%s\r",string);
fclose (f_teks); /* menutup file -------------------------- */
getch();
}Contoh 4/* -------------------------------------- */
/* file program: FGETS.C */
/* contoh pemakaian FGETS() */
/* untuk membaca isi file teks */
/* ------------------------------------------- */
#include "stdio.h"
#include "conio.h"
#include "string.h"
#define PANJANG 256
main()
{
FILE *f_teks;
char string[PANJANG];
char namafile[65];
directvideo=0;
cputs("PROGRAM UNTUK MELIHAT ISI FILE TEKS\r\n");
cprintf("nama file: ");
gets(namafile);
if((f_teks=fopen(namafile,"rt"))==NULL)
{
cputs("File tak dapat dibuka !\r\n");
exit(1);
}
/* baca string dari fele selama masih ada ");
while ((fgets(string, PANJANG,f_teks)) !==NULL)
/* tampilkan sring kelayar*/
cprintf("%s\r",string);
fclose(f_teks); /* tutup file */
getch();
}Contoh 5/* --------------------------------- */
/* file program: FPRINTF.C */
/* contoh menyimpan data yang diformat */
/* ke file, menggunakan fprintf() */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"
main()
{
FILE *pformat;
char jawaban;
struct
{
int x;
int y;
}koordinat;
/* buka dan ciptakan file. periksa kalau gagal dibuka */
if((pformat=fopen("KORDINAT.DAT","w"))==NULL)
{
cputs("File tak dapat dibuka !");
exit(1);
}
do
{
clrscr(); /* Hapus layar */
cputs("Masukan data koordinat (bilangan int)\r\n");
cputs("Format: Posisi x Posisi Y \r\n");
cputs("Contoh: 20 30 [ENTER]\r\n");
scanf("%d %d",&koordinat.x,&koordinat.y);
fflush(stdin); /* hapus buffer keyboard */
/* rekam kefile */
fprintf(pformat, "5d%5d\n",koordinat.x,koordinat.y);
cputs("\r\nMenyimpan data lagi (Y/T)? ");
jawaban=getche(); /* baca tombol */
}
while(jawaban=='Y'||jawaban=='y');
fclose(pformat);
getch();
}Contoh 6/* -------------------------------------- */
/* file program :FREAD.C */
/* contoh membaca sebuah structur */
/* dari file , menggunakan fread() */
/* --------------------------------------- */
#include "stdio.h"
#include "conio.h"
#define JUM_BLOK 1 /* sebuah record */
main()
{
FILE *f_struktur;
struct
{
char judul[26];
char pengarang[20];
int jumlah;
}buku; /* variabel struktur */
clrscr();
if( (f_struktur=fopen("DAFBUKU.DAT","rb"))==NULL )
{
cputs("File tak dapat dibuka !\r\n");
exit(1);
}
while(fread(&buku,sizeof(buku),JUM_BLOK,f_struktur)==JUM_BLOK)
cprintf("%-2s %-2s %2d\r\n",buku.judul,buku.pengarang, buku.jumlah);
fclose(f_struktur); /* tutup file */
getch();
}Contoh 7/* --------------------------------- */
/* file program: FSCANF.C */
/* contoh membaca data yang diformat */
/* yang ada pada fiile , memakai fscanf() */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"
main()
{
struct
{
int x;
int y;
}koordinat;
FILE *pkoord;
char kar; /* untukk menyimpan keluaran fungsi fscanf()*/
int kode; /* untuk memegang keluaran fungsi fscanf() */
/* buka file. periksa kalau gagal dibuka */
if((pkoord=fopen("KORDINAT.DAT","rt"))==NULL)
{
cputs("File tak dapat dibuka !");
exit(1);
}
while((kode=fscanf(pkoord,"%5d%5d%c",&koordinat.x,&koordinat.y,&kar)) !=EOF)
{
if(kode !=3) /* jika yang dibaca tidak sama dengan */
/* tiga buah file */
{
cputs("program dihentikan.\r\n");
cputs("sebab format data dalam file salah !\r\n");
exit(1);
}
cprintf("%5d %5d\r\n",koordinat.x, koordinat.y);
}
fclose(pkoord);
getch();
}Contoh 8/* -------------------------------------- */
/* file program : FWRITE.C */
/* contoh menyimpan data bertipe structur */
/* ke file , menggunakan fwrite() */
/* --------------------------------------- */
#include "stdio.h"
#include "conio.h"
main()
{
FILE *f_struktur;
char jawaban;
struct data_pustaka
{
char judul[26];
char pengarang[20];
int jumlah;
}buku; /* variabel buku bertipe struktur */
/* buka file */
if( (f_struktur=fopen("DAFBUKU.DAT","wb"))==NULL )
{
cputs("File tak dapat diciptakan !\r\n");
exit(1);
}
do
{
clrscr();
cputs("judul buku : ");
gets(buku.judul);
cputs("nama pengarang : ");
gets(buku.pengarang);
cputs("jumlah buku : ");
scanf("%d",&buku.jumlah);
/* hapus isi penampung keyboard */
fflush(stdin);
/* rekam sebuah data bertipe struktur */
fwrite(&buku,sizeof(buku),1,f_struktur);
cputs("\r\nmau merekam data lagi (Y/T)? ");
jawaban=getche();
}
while(jawaban=='Y'||jawaban=='y');
fclose(f_struktur); /* tutup file */
}Contoh 9/* ------------------------------- */
/* file program : GANTIFIL.C */
/* utntuk mengganti nama file */
/* ------------------------------------ */
#include "conio.h"
#include "stdio.h"
main()
{
int kode;
char namafilelama[65],namafilebaru[65];
clrscr();
cputs("Nama file yang akan diganti : ");
gets(namafilelama);
cputs("Nama file pengganti : ");
gets(namafilebaru);
kode=rename(namafilelama,namafilebaru);
if (kode==-1)
cputs("Gagal dalam mengganti nama file !\r\n");
else
cputs("File sudah diganti\r\n");
getch();
}Contoh 10/* -------------------------------------------- */
/* file program : GANTIREC.C */
/* untuk mengganti isi suatu record */
/* secara acak */
/* -------------------------------------------- */
#include "stdio.h"
#include "conio.h"
#define SATU_RECORD 1
main()
{
struct
{
char judul[26];
char pengarang[20];
int jumlah;
}buku; /* variabel buku bertipe struktur */
FILE *pf; /* pinter ke-file */
char ulang;
int nmr_record, hasil_baca;
long int ofset_byte;
clrscr();
/* buka file yan berisi data buku */
if((pf=fopen("DAFBUKU.DAT","rb"))==NULL)
{
cputs("File tak dapat dibuka !\r\n");
exit(1);
}
/* baca record secara random */
do
{
cputs("\r\nNomor record dari data");
cputs("yang ingin anda ketahui: ");
scanf("%d",&nmr_record);
/* atur penunjuk posisi file ke record
yang di kehendaki ----------------*/
ofset_byte=(nmr_record-1)*sizeof(buku);
fseek(pf,ofset_byte, SEEK_SET);
/* baca record yang ditunjuk oleh
penunjuk posisi file -------*/
hasil_baca=fread(&buku,sizeof(buku),SATU_RECORD,pf);
if(hasil_baca==0)
cprintf("Nomor record tak absah !\r\n");
else
{
cprintf("judul buku : %-s\r\n",buku.judul);
cprintf("Pengarang : %-s\r\n",buku.pengarang);
cprintf("jumlah Buku : %d\r\n",buku.jumlah);
cprintf("Jumlah buku kini : ");
scanf("%d",&buku.jumlah);
/* atur penunjuk posisi file
ke posisi sebelumnya---*/
fseek(pf,ofset_byte,SEEK_SET);
/* rekam ulang */
fwrite(&buku,sizeof(buku),SATU_RECORD,pf);
}
cputs("\r\nMau mengubah lagi (Y/T)?");
ulang = getche();
}
while (ulang=='Y'||ulang=='y');
/* tutup file */
fclose(pf);
}Contoh 11/* -------------------------------------- */
/* file program : GETC.C */
/* contoh untuk membaca isi file */
/* per karakter */
/* --------------------------------------------- */
#include "stdio.h"
#include "conio.h"
main()
{
FILE *pf;
char kar;
clrscr(); /* hapus layar */
if((pf=fopen("COBA.TXT","r"))==NULL) /* buka file */
{
cputs("File tak dapat dibuka !\r\n"); /* tulis kelayar */
exit(1); /* selesai */
}
while ((kar=getc(pf)) !=EOF) /* baca kar dari file */
putch(kar); /* tampilkan ke layar */
fclose(pf);
getch();
}Contoh 12/* --------------------------------- */
/* file program: GETW.C */
/* contoh membaca isi file */
/* menggunakan getw */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"
main()
{
FILE *pf; /* ptr-ke-FILE */
int nilai;
char nomor=0;
clrscr();
/* buka file biner untuk dibaca */
if((pf=fopen("BILANGAN.DAT","wb"))==NULL)
{
cputs("File gagal dibuka! \n");
exit();
}
cputs("isi file BILANGAN.DAT:");
while(1)
{
/* baca sebuah int dari file */
nilai=getw(pf);
/* jika akhir file, keluar loop */
if(feof(pf)!=NULL)break;
/* tampilkan kelayar */
cprintf("%2d. %2d\r\n",++nomor,nilai);
}
fclose(pf); /* tutup file */
getch();
}Contoh 13/* ------------------------------- */
/* file program : HAPUSTIL.C */
/* utntuk menghapus file */
/* ------------------------------------ */
#include "conio.h"
#include "stdio.h"
main()
{
int kode;
char namafile[65];
cputs("Nama file yang akan dihapus : ");
gets(namafile);
kode=unlink(namafile);
if (kode==-1)
cputs("Gagal dalam menghapus !\r\n");
else
cputs("File sudah dihapus\r\n");
getch();
}Contoh 14/* ------------------------------------- */
/* file program : PUTC.C */
/* contoh menambah tulisan */
/* dengan data karakter dari keyboard */
/* -------------------------------------- */
#include "stdio.h"
#include "conio.h"
#define CTRL_Z 26
main()
{
FILE *pf; /* pointer-ke-FILE */
char kar;
if((pf=fopen("COBA.TXT","a"))==NULL) /* ciptakan file */
{
cputs("File tak dapat dibuka !\r\n"); /* tulis kelayar */
exit(1); /* selesai */
}
while((kar=getche()) !=CTRL_Z) /* baca kar dari keyboard */
putc(kar,pf); /* tulis ke file */
fclose(pf);
getch();
}
Contoh 15/* ------------------------------------- */
/* file program : PUTC.C */
/* contoh menciptakan dan mengisi file */
/* dengan data karakter dari keyboard */
/* -------------------------------------- */
#include "stdio.h"
#include "conio.h"
#define CTRL_Z 26
main()
{
FILE *pf; /* pointer-ke-FILE */
char kar;
if((pf=fopen("COBA.TXT","w"))==NULL) /* ciptakan file */
{
cputs("File tak dapat diciptakan !\r\n"); /* tulis kelayar */
exit(1); /* selesai */
}
while((kar=getche()) !=CTRL_Z) /* baca kar dari keyboard */
putc(kar,pf); /* tulis ke file */
fclose(pf);
getch();
}Contoh 16/* --------------------------------- */
/* file program: PUTW.C */
/* contoh menyimpan data bertipe int */
/* menggunakan putw */
/* --------------------------------- */
#include "stdio.h"
#include "conio.h"
main()
{
FILE *pf; /* ptr-ke-FILE */
int nilai;
char jawab;
clrscr();
if((pf=fopen("BILANGAN.DAT","wb"))==NULL) /* ciptakan file biner */
{
cputs("File gagal diciptakan! \n");
exit();
}
cputs("programuntuk menyimpan data integer ke file.");
do
{
cputs("\r\nBilangan yang akan disimpan: ");
scanf("%d",&nilai); /* baca nilai dari key board */
putw(nilai,pf); /* tulis bilangan kefile */
cputs("memasukan data lagi (Y/T(?");
jawab=getche(); /* baca jawaban dari keyboard */
}
while(jawab=='Y'||jawab=='y');
fclose(pf); /* menutup file */
cputs("\r\nOke. Data sudah disimpan pada file.\r\n");
getch();
}Contoh 17/* ------------------------------------- */
/* file program : SALINFIL.C */
/* contoh menyalin isifile teks */
/* ------------------------------------- */
#include "stdio.h"
#include "conio.h"
#include "string.h"
#define PANJANG 256
main()
{
FILE *pf_input, *pf_output;
char string[PANJANG];
char namafile_inp[65],
namafile_out[65];
cputs("PROGRAM UNTUK MENYALIN ISI FILE TEKS\r\n");
cputs("HURUF KECIL AKAN DIGANTI HURUF KAPITAL\r\n");
cprintf("Nama file input: ");
gets(namafile_inp);
cprintf("Nama File output: ");
gets(namafile_out);
/* buka file input */
if((pf_input=fopen(namafile_inp, "rt")) == NULL)
{
cputs("File input tak dapat dibuka !\r\n");
exit(1);
}
/* buka file output */
if((pf_output=fopen(namafile_out,"wt"))==NULL)
{
cputs("File output tak dapat dibuka !\r\n");
exit(1);
}
/* ******************************** */
/* baca string dari file input */
/* dan konversikan kehuruf kapital */
/* kemudian rekam ke file output */
/* ******************************** */
while((fgets(string, PANJANG, pf_input)) !=NULL)
{
strupr(string);
fputs(string, pf_output);
}
fcloseall(); /* tutup file input dan file output */
getch();
}Contoh 18/* -------------------------------- */
/* file program: STDINOUT.C */
/* contoh penggunaan stdin dan stdout */
/* -------------------------------------- */
#include "conio.h"
#include "stdio.h"
main()
{
int x;
fprintf(stdout,"Masukan sebuah bilangan bulat.");
fscanf(stdin,"%d",&x);
fprintf(stdout,"Bilangan yang ana masukan : %d",x);
getch();
}Contoh 19/* ---------------------------- */
/* file program : STDPRN.C */
/* contoh menggunakan stdprn */
/* untuk mencetak keprinter */
/* ------------------------------- */
#include "stdio.h"
main()
{
fprintf(stdprn,"%c%s\r\n",15,"CONDENSED");
fprintf(stdprn,"%c%s\r\n",18,"NORMAL");
fprintf(stdprn,"%c%s\r\n",14,"LEBAR");
getch();
}Contoh 20/* ---------------------------- */
/* file program: TES1.C */
/* contoh untuk redirection keluaran */
/* keprinter atau file */
/* ----------------------------- */
main()
{
clrscr();
printf("Tes %d\n",123);
getch();
}Contoh 21/* ---------------------------- */
/* file program: TES2.C */
/* contoh untuk redirection masukan dari file */
/* sampai tombol CTRL-Z ditekan diikuti ENTER */
/* ----------------------------- */
#include "stdio.h"
#include "conio.h"
main()
{
int jum = 0;
char kar;
/* menghitung jumlah huruf a atau A
pada data yang berasal dari stdin ------------------ */
while((kar=getchar())!=EOF)
if(kar=='a'||kar=='A')
jum++;
cprintf("\r\nJumlah huruf a atau A = %d\r\n",jum);
getch();
}Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.


12.54
alie
Posted in:
1 komentar:
makasi kaka... sangat2 membantu.. :D
Posting Komentar