[42Seoul/minishell] 사용 가능한 외부 함수 (5)

yebeen·2022년 8월 10일
0

42-Seoul/minishell

목록 보기
6/9
post-thumbnail
사용 가능한 외부 함수
readline, rl_on_new_line, rl_replace_line, rl_redisplay, add_history, printf, malloc, free, write, open, read, close, pipe, fork, wait, waitpid, wait3, wait4, unlink, execve, dup, dup2, exit, signal, kill, getcwd, chdir, stat, lstat, fstat, opendir, readdir, closedir, strerror, errno, isatty, ttyname, ttyslot, ioctl, getenv, tcsetattr, tcgetattr, tgetent, tgetflag, tgetnum, tgetstr, tgoto, tputs

opendir()

지정한 디렉토리 스트림을 엽니다. 특정 디렉토리 안에 있는 파일과 디렉토리를 검색하기 위해 사용합니다. 정상적으로 리턴된 DIR 포인터를 가지고 readdir()closedir()을 사용합니다.

#include <dirent.h>

DIR *opendir(const char *name);

디렉토리 열기에 성공하면 디렉토리 정보 구조체 포인터를 반환하고 실패하면 NULL을 반환합니다.


readdir()

opendir()로 얻은 디렉토리 포인터를 통해서 정보를 차례대로 읽습니다. 연속된 readdir()을 호출할 때는 그 리턴 포인터를 반드시 확인해야 합니다.

#include <dirent.h>

struct dirent *readdir(DIR *dirp);

디렉토리 스트림의 끝에 도달하거나 에러가 발생하면 NULL을 반환합니다. 디렉토리 내 파일 정보를 모두 읽었는지 에러인지 구분하기 위해 errno 반환 값을 통해 에러를 구분할 수 있습니다.


closedir()

DIR 포인터를 통해 디렉토리 스트림을 닫습니다.

#include <dirent.h>

int closedir (DIR *dirstream);

정상적으로 종료될 경우 0을 그렇지 않은 경우 -1을 반환합니다.


strerror()

오류 메시지 문자열을 가리키는 포인터를 얻습니다.

#include <string.h>

char* strerror(int errnum);

errnum값을 통해 발생했던 오류에 맞는 오류 메시지를 가리키는 포인터를 반환합니다. 출력되는 오류 메시지의 경우 컴파일러나 플랫폼에 따라 달라질 수 있습니다.


errno()

에러 발생시 값을 바꾸어 해당 에러 메시지를 가집니다.

#include <errno.h>

extern int errno;


참고

profile
🐣🐥

0개의 댓글