반응형
ft_putchar_fd
우리가 write를 쓸 때 표준 출력으로
write(1, &c, 1);
이렇게 많이 사용했음 그런데
개발자들이 사람들을 write를 쓸 때
0: 표준 에러
1: 표준 출력
2: 표준 입력
이렇게 하였고 fd가 들어온다는 말은 파일이 들어오는데 순서가 3번째로 됨
fd가 순서를 정해줌
#include "libft.h"
void ft_putchar_fd(char c, int fd)
{
write(fd, &c, 1);
}
ft_putstr_fd
write로 출력
#include "libft.h"
void ft_putstr_fd(char *s, int fd)
{
int i;
i = 0;
while (s[i] != '\\0')
{
write(fd, &s[i], 1);
i++;
}
}
ft_putendl_fd
#include "libft.h"
void ft_putendl_fd(char *s, int fd)
{
int i;
i = 0;
while (s[i] != '\\0')
{
write(fd, &s[i], 1);
i++;
}
write(fd, "\\n", 1);
}
마지막에 개행문자 출력
#include "libft.h"
void ft_putendl_fd(char *s, int fd)
{
int i;
i = 0;
while (s[i] != '\\0')
{
write(fd, &s[i], 1);
i++;
}
write(fd, "\\n", 1);
}
ft_putnbr_fd
int형 n을 write로 출력하기
#include "libft.h"
void ft_putnbr_fd(int n, int fd)
{
char s;
s = 0;
if (n == -2147483648)
{
write(fd, "-2147483648", 11);
return ;
}
else if (n < 0)
{
n *= -1;
write(fd, "-", 1);
ft_putnbr_fd(n, fd);
}
else
{
s = n % 10 + '0';
n = n / 10;
if (n > 0)
ft_putnbr_fd(n, fd);
write(fd, &s, 1);
}
}
반응형
'42Seoul > libft' 카테고리의 다른 글
libft Bonus - lstnew, lstadd_front, lstsize (0) | 2023.03.24 |
---|---|
libft Bonus - Makefile (0) | 2023.03.24 |
libft - strtrim, striteri, split (0) | 2023.03.24 |
libft - strjoin, itoa, strmapi (0) | 2023.03.24 |
libft - strdup, strlen, substr (0) | 2023.03.24 |