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.
1 komentar:
makasi kaka... sangat2 membantu.. :D
Posting Komentar