반응형

fgets(3)

#include <stdio.h>

char *fgets(char *s, int size, FILE *stream);

stream으로부터 1라인을 읽습니다.  EOF나 개행문자(\n)를 만나면 읽기를 끝내고 null(0x00)을 붙입니다. 읽은 라인에 개행문자가 있어 끝났으면, 개행문자는 s에 포함됩니다. 1라인이 size - 1보다 클 경우에는 size - 1만큼만 읽고 끝에 null값(0x00)을 붙여서 끝냅니다.

 

 

파라미터

s
    - 읽은 데이터를 저장할 buffer
size
    - 파일에서 읽은 데이터를 저장하기 위해 할당된 buffer의 크기
stream
    - fopen(3), fdopen(3)으로 읽기용으로 return 받은 FILE *

 

 

RETURN

NULL 아님
    - 정상적으로 1라인의 데이터를 읽었습니다.

NULL
    - 읽을 데이터가 없거나 데이터 읽기에 실패하였습니다.

 

 

 


활용 예제

 

Sample. cat 명령어 처럼 파일의 내용보기

#include <stdio.h>
#include <string.h>
#include <errno.h>

int main(int argc, char *argv[])
{
    FILE *fp;
    char line[4096];

    if(argc == 1) {
        return 0;
    }

    if((fp = fopen(argv[1], "r")) == NULL) {
        fprintf(stderr, "%s file open error: %s\n", argv[1], strerror(errno));
        return 1;
    }

    while((fgets(line, 4096, fp) != NULL) {
        printf("%s", line);
    }

    fclose(fp);

    return 0;
}

 

 


see also :

    File 속성 정보 및 파일 관리 Library

    Directory 정보 조회 및 관리 Library

    System Call File I/O Library

    Stream File I/O Library

 

 

반응형
블로그 이미지

자연&사람

행복한 개발자 programmer since 1995.

,