gets(), fgets()

Kategori: C , 30 Haziran 2019 , JanFranco


gets fonksiyonu kullanıcının girdiği verileri satır bazlı okur. Yani okuma işlemini '\n' karaketerini gördüğü an durdurur. Kullanımı aşağıdaki şekildedir:


gets(<Where to store>);
Böyle bir fonksiyon olmasına rağmen, bu fonksiyonu kullanmamalıyız. Ne kadarlık veriyi okuyacağını parametre olarak almadığından, hatalarla karşılaşmamızın ihtimali yüksektir. Bunun yerine fgets fonksiyonunu kullanabiliriz:

fgets(<Where to store>, <Size>, <Where from>);
fgets fonksiyonunu dosyadan okuma işlemlerinde veya konsoldan okuma işlemlerinde kullanabiliriz. Konsoldan okuma işlemi için bir örnek yapalım:

char myWord[100];
fgets(myWord, 100, stdin);
Burada stdin anahtar kelimesi, bilgilerin konsoldan alınacağını söyler. Hem konsoldan hem de dosyadan okuyan bir örnek yapalım:

#include <stdio.h>

int main() {

    FILE *fp = fopen("myFile.txt", "r");

    if(fp == NULL){
        printf("Error!");
        return 0;
    }

    char myMsg[10];
    printf("Enter: OK\n");
    fgets(myMsg, 10, stdin);
    printf("Reading and printing...\n");

    char *myParam = malloc(sizeof(char)*300);
    fgets(myParam, 300, fp);
    printf("%s", myParam);

	return 0;
}


Sonraki Yazı: getc(), fgetc(), getchar()
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın