-
getline 함수프로그래밍/C++ 2015. 1. 7. 20:40
파일을 읽을 때 한 줄 씩 편하게 읽을 수 있는 함수.
리눅스에서도 윈도우에서도 자주 사용하는 함수로 파일과 관련되어 자주 보게된다.
함수명
getline
개요
#include <stdio.h>
ssize_t getline(char** lineptr, size_t* n, FILE* stream);
lineptr : stream으로부터 읽어 들인 char*로 파일 내용이 저장되어 있다.
n : lineptr의 동적할당 크기이다.
stream : 파일 포인터
리턴값 : stream으로 부터 읽어들인 데이터의 실제 길이
getline은 stream으로부터 한 줄씩(개행문자까지) 읽어들이는 함수이다.
최초 사용시 lineptr이 NULL이고 n이 0일 경우 getline함수 내에서 동적할당을 한다.
이후 stream안에 있는 한 줄의 길이에 따라 n의 크기가 변하게 된다.
예
#include
#include int main(void) { FILE *fp; char *line = NULL; size_t len = 0; ssize_t read; fp = fopen("/etc/motd", "r"); if (fp == NULL) exit(EXIT_FAILURE); while ((read = getline(&line, &len, fp)) != -1) { printf("Retrieved line of length %zu :\n", read); printf("%s", line); } free(line); fclose(fp); exit(EXIT_SUCCESS); } '프로그래밍 > C++' 카테고리의 다른 글
폴더 내 파일 찾아 읽기 (0) 2015.01.23 SQLite3 라이브러리 생성하기 (0) 2014.11.13 에러값 체크함수 - isnan (0) 2014.09.22 문자열에서 문자를 추출(strtok, strtok_r) (0) 2014.09.12 unsigned short만 사용하면 warning이 뜬다. (0) 2014.08.29