Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* ************************************************************************** */
- /* */
- /* ::: :::::::: */
- /* ft_atoi.c :+: :+: :+: */
- /* +:+ +:+ +:+ */
- /* By: glodenos <glodenos@student.42.fr> +#+ +:+ +#+ */
- /* +#+#+#+#+#+ +#+ */
- /* Created: 2015/12/02 00:00:00 by glodenos #+# #+# */
- /* Updated: 2015/12/01 00:00:00 by glodenos ### ########.fr */
- /* */
- /* ************************************************************************** */
- int ft_atoi(char *str)
- {
- int i;
- int nbr;
- int negative;
- nbr = 0;
- negative = 0;
- i = 0;
- while ((str[i] == '\n') || (str[i] == '\t') || (str[i] == '\v') ||
- (str[i] == ' ') || (str[i] == '\f') || (str[i] == '\r'))
- i++;
- if (str[i] == '-')
- negative = 1;
- if (str[i] == '+' || str[i] == '-')
- i++;
- while (str[i] && (str[i] >= '0') && (str[i] <= '9'))
- {
- nbr *= 10;
- nbr += (int)str[i] - '0';
- i++;
- }
- if (negative == 1)
- return (-nbr);
- else
- return (nbr);
- }
- /* ************************************************************************** */
- /* */
- /* ::: :::::::: */
- /* ft_display_tail.c :+: :+: :+: */
- /* +:+ +:+ +:+ */
- /* By: glodenos <glodenos@student.42.fr> +#+ +:+ +#+ */
- /* +#+#+#+#+#+ +#+ */
- /* Created: 2015/12/03 11:04:15 by glodenos #+# #+: */
- /* Updated: 2015/12/03 12:31:24 by glodenos ### ########.fr */
- /* */
- /* ************************************************************************** */
- #include "lib.h"
- int filelen(char *str)
- {
- char tmp;
- int i;
- int fd;
- i = 0;
- fd = open(str, O_RDONLY);
- while (read(fd, &tmp, 1))
- i++;
- close(fd);
- return (i);
- }
- void ft_display_tail(char *str, int end)
- {
- char txt;
- int fd;
- int len;
- int i;
- i = 0;
- len = filelen(str);
- fd = open(str, O_RDONLY);
- while (read(fd, &txt, 1))
- {
- if (i >= len - end)
- ft_putchar(txt);
- i++;
- }
- close(fd);
- }
- /* ************************************************************************** */
- /* */
- /* ::: :::::::: */
- /* ft_putchar.c :+: :+: :+: */
- /* +:+ +:+ +:+ */
- /* By: glodenos <glodenos@student.42.fr> +#+ +:+ +#+ */
- /* +#+#+#+#+#+ +#+ */
- /* Created: 2015/12/02 00:00:00 by glodenos #+# #+# */
- /* Updated: 2015/12/03 12:38:16 by glodenos ### ########.fr */
- /* */
- /* ************************************************************************** */
- #include "lib.h"
- void ft_putchar(char c)
- {
- write(1, &c, 1);
- }
- /* ************************************************************************** */
- /* */
- /* ::: :::::::: */
- /* ft_putstr.c :+: :+: :+: */
- /* +:+ +:+ +:+ */
- /* By: glodenos <glodenos@student.42.fr> +#+ +:+ +#+ */
- /* +#+#+#+#+#+ +#+ */
- /* Created: 2015/12/03 11:41:34 by glodenos #+# #+# */
- /* Updated: 2015/12/03 12:40:11 by glodenos ### ########.fr */
- /* */
- /* ************************************************************************** */
- #include "lib.h"
- void ft_putstr(char *str)
- {
- while (*str)
- ft_putchar(*str++);
- }
- /* ************************************************************************** */
- /* */
- /* ::: :::::::: */
- /* ft_tail.c :+: :+: :+: */
- /* +:+ +:+ +:+ */
- /* By: glodenos <glodenos@student.42.fr> +#+ +:+ +#+ */
- /* +#+#+#+#+#+ +#+ */
- /* Created: 2100/01/01 00:00:00 by glodenos #+# #+# */
- /* Updated: 2100/01/01 00:00:00 by glodenos ### ########.fr */
- /* */
- /* ************************************************************************** */
- #include "lib.h"
- void ft_tail(int argc, char **argv)
- {
- int end;
- int i;
- i = 3;
- end = ft_atoi(argv[2]);
- while (argv[i])
- {
- if (argc > 4)
- {
- ft_putstr("==> ");
- ft_putstr(argv[i]);
- ft_putstr(" <==\n");
- }
- ft_display_tail(argv[i], end);
- i++;
- }
- }
- /* ************************************************************************** */
- /* */
- /* ::: :::::::: */
- /* lib.h :+: :+: :+: */
- /* +:+ +:+ +:+ */
- /* By: glodenos <glodenos@student.42.fr> +#+ +:+ +#+ */
- /* +#+#+#+#+#+ +#+ */
- /* Created: 2015/12/02 11:36:33 by glodenos #+# #+# */
- /* Updated: 2015/12/03 12:38:54 by glodenos ### ########.fr */
- /* */
- /* ************************************************************************** */
- #ifndef LIB_H
- # define LIB_H
- # include <fcntl.h>
- # include <unistd.h>
- # include <sys/types.h>
- # include <sys/stat.h>
- int ft_atoi(char *str);
- void ft_display_file(char *str, int end);
- void ft_putchar(char c);
- void ft_putstr(char *str);
- void ft_tail(int argc, char **argv);
- #endif
- /* ************************************************************************** */
- /* */
- /* ::: :::::::: */
- /* main.c :+: :+: :+: */
- /* +:+ +:+ +:+ */
- /* By: glodenos <glodenos@student.42.fr> +#+ +:+ +#+ */
- /* +#+#+#+#+#+ +#+ */
- /* Created: 2015/12/03 11:29:47 by glodenos #+# #+# */
- /* Updated: 2015/12/03 12:23:59 by glodenos ### ########.fr */
- /* */
- /* ************************************************************************** */
- #include "lib.h"
- int main(int argc, char **argv)
- {
- ft_tail(argc, argv);
- return (0);
- }
- # **************************************************************************** #
- # #
- # ::: :::::::: #
- # Makefile :+: :+: :+: #
- # +:+ +:+ +:+ #
- # By: glodenos <glodenos@student.42.fr> +#+ +:+ +#+ #
- # +#+#+#+#+#+ +#+ #
- # Created: 2100/01/01 00:00:00 by glodenos #+# #+# #
- # Updated: 2100/01/01 00:00:00 by glodenos ### ########.fr #
- # #
- # **************************************************************************** #
- NAME = ft_tail
- SRCS = *.c
- FLAG = -Wall -Wextra -Werror
- OBJ = *.o
- all: $(NAME)
- $(NAME):
- gcc $(FLAG) $(SRCS) -c
- gcc $(FLAG) $(SRCS) -o $(NAME)
- clean:
- rm -f $(OBJ)
- fclean: clean
- rm -f $(NAME)
- re: fclean all
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement