* 파라미터로 들어오는 fd와 char변수 c를 이용해 c를 출력하는 함수
void ft_putchar_fd(char c, int fd)
char c : 출력할 char형 변수 c
int fd : 파일 디스크립터. 정수값으로 파일 디스크립터를 받음.
유닉스 시스템에서 프로세스가 특정 파일에 접근하기 위한 추상적인 키.
모든 프로세스(프로그램이 메모리에 적재된 것. 프로그램의 인스턴스)가 갖추어야 하는 표준 POSIX 파일 서술자는 하단과 같다.
file descriptor의 값은 unsigned int 값이므로 음수가 될 수 없다.
다만 실제 write함수에서 테스트해본 결과 파일 디스크립터의 숫자에 상관없이 모두 출력한다. 파일 디스크립터의 정수에 따라 무엇이 달라지는지는 더욱 알아봐야 할 것 같다.
유닉스 standard header에 있는 write함수를 이용해 출력한다.
write함수의 인수값으로는 파일 디스크립터, 출력할 char변수의 주소값, 출력할 데이터의 바이트 사이즈가 요구된다.
file descriptor의 값은 내부적으로 unsigned int값을 이용하므로 음수가 되어서는 안된다. 따라서 음수일 때 return;한다.
#include "libft.h"
void ft_putchar_fd(char c, int fd)
{
if (fd < 0)
return ;
write(fd, &c, 1);
}
(1) 파일 디스크립터 인자가 음수인지 검사해 음수이면 return;한다.
(2) write()를 이용해 fd와 c의 주소, 출력할 값의 바이트 크기를 전달해 출력한다.