Pengetahuan Dasar Input Output dan Akses File pada Pemrograman Bahasa C

Tulisan ini bermula ketika saya ingin membuat program mengakses MMC / Micro SD  menggunakan microcontroller AVR,  ternyata penulisan ke MMC/micro SD  bisa berupa file system ataupun byte . Saya memilih menyimpan data ke MMC/microSD dalam bentuk file system karena sudah  disediakan  fungsi fungsi  tsb pada codevision versi 2.

Input dan output text  dari manapun text  berasal dan kemanapun text ditampilkan/disimpan,  text dianggap sebagai aliran character ( stream of character).   stream character bisa berasal dari keyboard  atau file  .Tempat penyimpanan file bisa di hardisk, disket atau MMC / SD card  dan cara pengaksesan file nya sama saja yaitu:

1. Buat pointer ke struct File ,

misal :  File *pointer_file

2. file dibuka  dgn fungsi fopen(namafile,mode) 

misal :   fopen(“namafile.txt”,”r”)

mode akses file antar lain:

“r” artinya file hanya untuk dibaca .

“w” artinya buat  file baru  untuk ditulis

“a” artinya isi file bisa ditambah

“r+”  artinya file bisa ditulis dan dibaca

“w+”  artinya file bisa dibaca dan ditulis. jika ada file yg sama akan di replace.

“a+” artinya file akan dibaca atau ditulis. jika file tdk ada file baru akan dibuat.

3.  file dibaca / ditulis /edit   dgn fungsi fungsi : fputc,fgetc,fputs,fgets,fscanf, fprintf, fseek, putc, getc, putw .

misal  :  fgetc(pointer_file)  , atau

fgets(string_bufer, ukuran buffer, pointer_file)

3. setelah selesai dibaca/ditulis  kemudian file di tutup.

misal fclosed(pointer_file)

mudah bukan,  nanti kita lihat contohnya dibawah

Input Output standard 

fungsi untuk membaca dan menulis :

scanf

sscanf

getchar

getch

gets

printf

putchar

puts

membaca input  dari keyboad

input menggunakan getchar();

#include <stdio.h>
/* copy input to output; 1st version */
main()
{
int c;

while (c != EOF) {          // jika blm  sampai end of file

c = getchar();                 // ambil character

putchar(c);                      // tampilkan character ke layar
}
}

input menggunakan scanf


#include <stdio.h>

int main()
{
int bilangan_int;

printf( “masukan data integer: ” );
scanf( “%d”, &bilangan_int );
printf( “yg anda masukan %d”, bilangan_int );
return 0;
}

input  mengunakan sscanf

deklarasi : int sscanf(const char *str, const char *format, ...)

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

int main()
{
int bilangan1, bilangan2;
char string1[20], string2[20], tampung[100];

strcpy( tampung, “apa kabar 17 21” );
sscanf( tampung, “%s %s %d %d”, string1, string2, &bilangan1, &bilangan2 );

 // string1 berisi “apa”, string2 berisi “kabar , bilangan1 berisi 17,  bilangan2 berisi 21

printf(”  %s %s, %d = %d    \n”, string1, string2, bilangan1, bilangan2 );  // print ke layar monitor

return(0);
}

 

Membaca dan menulis file

membaca data string  dari file dgn fget

deklarasi: char *fgets(char *str, int n, FILE *stream)

contoh program:

/*
buatlah file filetest.txt misal isinya spt ini:
0 1 0
1 2 0
2 0 3

*/

#include <string.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>

main()
{
FILE *fp;
char baris[20], string1[5], string2[5], string3[5];
int i;

fp=fopen(“filetest.txt”,”r”);
if (fp==NULL) {
printf(“file tdk bisa dibuka\n”);
exit(1);
}
printf(“\n”);
printf(“==========================\n”);
printf(“isi file : \n”);
printf(“==========================\n”);

 // baca tiap baris sampai fp ga ada char/null

i= 0;
while (fgets(baris,sizeof baris,fp)!=NULL)  {

printf(“%s”,baris);   // mencetak string baris ke layar

i++;
}

printf(“\n”);
printf(“==========================\n”)
return(0);
}

misalkan file contoh diatas saya simpan dgn nama readfile.c

hasil compile program diatas dgn compiler  GCC :

readfile

sumber

http://www.cprogrammingexpert.com/C/Tutorial/file/fgets.aspx

About pccontrol

Berisi Tutorial Menggunakan PC untuk mengontrol Peralatan dengan cara mudah & praktis.

Posted on 28/06/2013, in Menengah-1. Bookmark the permalink. 2 Comments.

  1. mas bisa minta contohnya?

  2. Mantap gan postingannya.

Komentar ,Saran atau Pertanyaan

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: