Lompat ke konten Lompat ke sidebar Lompat ke footer

Read dan Write Struktur File Bahasa C

Untuk menulis konten pada file bahasa C, jauh lebih mudah untuk membuat string atau int ke file dengan menggunakan fprintf dan putc, tetapi hal tersebut mungkin akan mengakibatkan suatu kesulitan ketika hal tersebut dilakukan untuk menulis konten dari tipe struct, dan untuk mengatasi hal tersebut maka dapat menggunakan bantuan fwrite dan fread dari suatu blok data.


Sebelum memahami materi tentang Read dan Write Struktur File Bahasa C, terlebih dahulu pelajari materi tentang: Fungsi FSEEK dan REWIND Bahasa C dan PenjelasannyaEOF Bahasa C Menggunakan GETC dan FEOF Beserta Penjelasannya, dan Fungsi FOPEN Bahasa C untuk File dalam Mode Penulisan.

fwrite: Berikut adalah bentuk deklarasi dari fungsi fwrite.

size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)

Keterangan:
  • ptr - adalah pointer ke array dari elemen yang akan dibuat.
  • size - adalah ukuran dalam satuan byte untuk setiap elemen yang akan dibuat.
  • nmemb - adalah angka dari elemen, yang mewakili nilai dari setiap ukuran byte.
  • stream - adalah pointer ke sebuah objek FILE yang menentukan nilai ouput stream.


Contoh:

// Program bahasa C untuk

// membuat struct ke file

#include <stdio.h>

#include <stdlib.h>

#include <string.h>


// Struct untuk read dan write

struct person

{

int id;

char fname[20];

char lname[20];

};


int main ()

{

FILE *outfile;


// open file untuk membuat

// dokumen

outfile = fopen ("person.dat", "w");


if (outfile == NULL)

{

fprintf(stderr, "\nError opened file\n");

exit (1);

}


struct person input1 = {1, "rohan", "sharma"};

struct person input2 = {2, "mahendra", "dhoni"};


// Membuat struct ke file

fwrite (&input1, sizeof(struct person), 1, outfile);


fwrite (&input2, sizeof(struct person), 1, outfile);


if(fwrite != 0)

printf("contents to file

 written successfully !\n");


else

printf("error writing file !\n");


// close file

fclose (outfile);


return 0;

}

Output:
gcc demowrite.c
./a.out
contents to file written successfully!


fread: Berikut adalah deklarasi dari penggunaan fungsi fread.

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)

Keterangan:
  • ptr - adalah pointer ke sebuah blok memori dengan sebuah ukuran minimum dari ukuran byte size*.
  • size - adalah ukuran dalam satuan byte untuk setiap elemen yang akan dibaca.
  • nmemb - adalah angka dari setiap elemen, dimana setiap nilai diwakili dalam ukuran byte.
  • stream - adalah pointer ke sebuah objek FILE yang digunakan untuk menentukan input stream.

Contoh:

// Program bahasa C untuk

// membaca struct dari sebuah

// file

#include <stdio.h>

#include <stdlib.h>


// struct person dengan tiga

// fields

struct person

{

int id;

char fname[20];

char lname[20];

};


// Driver program

int main ()

{

FILE *infile;

struct person input;


// Open person.dat untuk

// membaca file

infile = fopen ("person.dat", "r");


if (infile == NULL)

{

fprintf(stderr, "\nError opening file\n");

exit (1);

}


// Membaca konten file sampai

// bagian akhir dari file

while(fread(&input, sizeof(struct person), 1, infile))


printf ("id = %d name = %s %s\n", input.id,

input.fname, input.lname);


// close file

fclose (infile);


return 0;

}

Output:
gcc demoread.c
./a.out
id = 1 name = rohan sharma
id = 2 name = mahendra dhoni

Artikel ini didedikasikan kepada: Iva Rahma NurfadillaIzyar AfrizaJaler Cahya FairuzJessica Juliana Patenu, dan Juan Zerlinda Elvarettha.

6 komentar untuk "Read dan Write Struktur File Bahasa C"

  1. Apa yang dimaksud dengan fungsi fprintf() pada Bahasa C?

    BalasHapus
    Balasan
    1. Fungsi fprintf() pada Bahasa C adalah fungsi yang dikenal sebagai fungsi cetak format.

      Hapus
    2. Fungsi fprintf() merupakan fungsi yang digunakan untuk menulis dan memformat output ke dalam suatu stream.

      Hapus
    3. Fungsi fprintf() digunakan untuk mencetak sebuah pesan tetapi pesant tersebut tidak terdapat pada konsol absolut.

      Hapus
  2. Apa yang dimaksud dengan fungsi putc() pada Bahasa C?

    BalasHapus
    Balasan
    1. Fungsi putc() pada Bahasa C adalah fungsi yang digunakan untuk mengonversi C menjadi unsigned char dan kemudian menulis c tersebut ke dalam suatu stream output pada posisi saat ini.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -