Fungsi FGETS dan GETS Bahasa C dan Penjelasannya
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.
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;
}
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
- Fungsi FGETC dan FPUTC Bahasa C dan Penjelasannya
- Fungsi FSEEK Bahasa C dan Penjelasannya
- Fungsi FTELL Bahasa C Beserta Penjelasannya
- Fungsi LSEEK Bahasa C dan Penjelasannya
- Mengahpus File Bahasa C Menggunakan Fungsi Remove
- Menggabungkan Dua File Bahasa C Menjadi Satu File Baru
- Mencetak File Bahasa C Beserta Penjelasannya
6 komentar untuk "Fungsi FGETS dan GETS Bahasa C dan Penjelasannya"
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 -
Apa yang dimaksud dengan fungsi FGETS pada bahasa C?
BalasHapusFungsi fgets pada Bahasa C merupakan fungsi yang digunakan untuk membaca hingga n karakter dari stream atau aliran file input standar ke sebuah string str.
HapusFungsi fgets() pada Bahasa C akan terus membaca karakter sampai dengan n-1 karakter telah dibaca dari suatu aliran data atau stream.
HapusApa yang dimaksud dengan fungsi gets() pada bahasa C?
BalasHapusFungsi 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.
HapusFungsi gets() akan mengakhiri sesi pembacaan datanya segera setelah menemukan karakter baris baru atau new line.
Hapus