Lompat ke konten Lompat ke sidebar Lompat ke footer

Fungsi FGETS dan GETS Bahasa C dan Penjelasannya

Untuk membaca sebuah nilai string dengan spasi pada Bahasa C dapat dilakukan dengan menggunakan fungsi gets() atau fgets(). Berikut akan diperlihatkan perbedaan antara fungsi gets() dan fgets() pada Bahasa C.

Fungsi FGETS dan GETS Bahasa C dan Penjelasannya
Fungsi FGETS dan GETS Bahasa C dan Penjelasannya

Sebelum memahami lebih dalam materi tentang Fungsi FGETS dan GETS Bahasa C dan Penjelasannya, terlebih dahulu pelajari materi tentang: Read dan Write Struktur File Bahasa C [klik], Fungsi FOPEN Bahasa C untuk File dalam Mode Penulisan [klik], dan EOF Bahasa C Menggunakan GETC dan FEOF Beserta Penjelasannya [klik].

Fungsi fgets(): berfungsi untuk membaca sebuah baris dari stream spesifik dan menyimpannya ke string yang ditunjuk oleh pointer str. Fungsi fgets() akan berhenti bekerja ketika karakter (n-1) telah selesai dibaca, karakter baris baru telah dibaca, atau bagian akhir dari file telah dicapai, atau apapun dari ketiga kondisi tersebut telah terpenuhi.

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

Keterangan:
  • str: Pointer ke array dari char dimana string yang dibaca kemudian diduplikasi.
  • n: Nilai maksimum dari karakter yang akan diduplikasi ke pointer str termasuk proses mematikan karakter null.
  • *stream: Pointer ke objek FILE yang mengidentifikasi input stream.

stdin pada Bahasa C dapat digunakan sebagai sebuah nilai argument to read dari standar input.

Baca Juga:

Nilai Return: Fungsi fgets() akan mengembalikan nilai str.

Fungsi fgets() juga mengikuti beberapa parameter seperti nilai panjang maksimum, buffer, dan referensi input device. Fungsi fgets() merupakan fungsi yang aman untuk digunakan karena fungsi tersebut akan memeriksa nilai array yang terikat. Fungsi fgets() akan terus membaca sampai karakter baris baru ditemukan atau batas maksimum array karakter.

Contoh: Pada program, jika nilai maksimum dari karakter adalah 15 dan nilai panjang input adalah lebih dari 15, tetapi fungsi fgets() hanya akan menbaca 15 karakter dan akan mencetak nilai yang telah dibaca tersebut.

// Program Bahasa C untuk

// mengilustrasikan fungsi

// fgets().

#include <stdio.h>

#define MAX 15


int main()

{

char buf[MAX];

fgets(buf, MAX, stdin);

printf("string is: %s\n", buf);


return 0;

}

Output:
Hello and welc

Fungsi gets(): Fungsi gets() berfungsi untuk membaca karakter dari input standar (stdin) dan menyimpannya sebagai string bahasa C sampai sebuah karakter baris baru atau end-of-file telah dicapai.

Sintak: char * gets ( char * str );

Keterangan:
  • str: Pointer ke sebuah blok dari memori atau array dari char dimana string yang dibaca diduplikasi sebagai sebuah string bahasa C.

Nilai Return: Fungsi gets() digunakan untuk mengembalikan nilai str.

Fungsi gets() merupakan contoh fungsi yang tidak aman untuk digunakan karena tidak dapat memeriksa nilai array terikat. Fungsi gets() merupakan fungsi yang digunakan untuk membaca string dari user sampai baris barus dari karakter tidak ditemukan lagi.

Contoh: Misalkan terdapat 15 karakter dan nilai input yang lebih besar dari 15 karakter, maka fungsi gets() akan membaca semua karakter tersebut, dan akan menyimpan nilainya ke dalam variabel, karena fungsi gets() tidak memeriksa batas maksimum karakter input, jadi kapan saja kompilator dapat mengembalikan kesalahan buffer overflow.

// Program Bahasa C untuk

// mengilustrasikan fungsi

// gets().

#include <stdio.h>

#define MAX 15


int main()

{

char buf[MAX];


printf("Enter a string: ");

gets(buf);

printf("string is: %s\n", buf);


return 0;

}

Output:
Hello and welcome to Mandela

Artikel ini didedikasikan kepada: Izyar AfrizaJaler Cahya FairuzJessica Juliana PatenuJuan Zerlinda Elvarettha, dan Khairun Nisa.

6 komentar untuk "Fungsi FGETS dan GETS Bahasa C dan Penjelasannya"

  1. Apa yang dimaksud dengan fungsi FGETS pada bahasa C?

    BalasHapus
    Balasan
    1. Fungsi fgets pada Bahasa C merupakan fungsi yang digunakan untuk membaca hingga n karakter dari stream atau aliran file input standar ke sebuah string str.

      Hapus
    2. Fungsi fgets() pada Bahasa C akan terus membaca karakter sampai dengan n-1 karakter telah dibaca dari suatu aliran data atau stream.

      Hapus
  2. Apa yang dimaksud dengan fungsi gets() pada bahasa C?

    BalasHapus
    Balasan
    1. Fungsi gets() bahasa C merupakan fungsi yang telah ditentukan sebelumnya pada bahasa C yang digunakan untuk membaca nilai string atau baris teks, dimana karakter yang telah dibaca tersebut akan disimpan ke dalam variabel string yang terdefinisi.

      Hapus
    2. Fungsi gets() akan mengakhiri sesi pembacaan datanya segera setelah menemukan karakter baris baru atau new line.

      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 -