CC = gcc
CHLAGS = -Wall -Wextra -Werror
TARGET = display_file
SRCS = main.c
OBJS = main.o
%.o : $.c
${CC} ${CHLAGS} -c $< -o $@
${TARGET} : ${OBJS}
${CC} ${CHLAGS} $< -o $@
all : ${TARGET}
clean:
rm -rf ${OBJS}
fclean: clean
rm -rf ${TARGET}
re: fclean all
#include <unistd.h>
#include <fcntl.h>
void ft_putchar(char c)
{
write(1, &c, 1);
}
void ft_putstr(char *str)
{
while (*str)
{
ft_putchar(*str);
str++;
}
}
void ft_putnstr(char *str, int size)
{
write(1, str, size);
}
int error(int argc, int fd)
{
if (argc == 1)
{
ft_putstr("File name missing.\\n");
return (0);
}
else if (argc > 2)
{
ft_putstr("Too many arguments.\\n");
return (0);
}
if (fd < 0)
{
ft_putstr("Cannot read file.\\n");
return (0);
}
return (1);
}
int main(int argc, char *argv[])
{
int fd;
int byte;
char output[100];
fd = open(argv[1], O_RDONLY);
if (error(argc, fd))
{
while (1)
{
byte = read(fd, output, 100);
if (byte != 0)
ft_putnstr(output, byte);
else
break ;
}
}
close(fd);
return (0);
}