Repository navigation
Expand file tree
/
Copy pathlibftprintf.h
More file actions
57 lines (53 loc) · 2.04 KB
/
Copy pathlibftprintf.h
File metadata and controls
57 lines (53 loc) · 2.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* libftprintf.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: amoussai <amoussai@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/11/09 10:41:10 by amoussai #+# #+# */
/* Updated: 2019/12/14 07:56:36 by amoussai ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef LIBFTPRINTF_H
# define LIBFTPRINTF_H
# include <stdio.h>
# include <unistd.h>
# include <stdlib.h>
# include <stdarg.h>
# include <limits.h>
# include "libft/libft.h"
typedef struct s_vars
{
int chars;
int lalign;
char padd;
int len;
int tmp;
int prec;
int prefix;
long str_len;
char tab[2];
char *s;
int res;
} t_vars;
int ft_printf(const char *fmt, ...);
int print_string(char *str, t_vars *elts);
int nbr_length(long nb, unsigned int base);
char *ft_itoa_base(long value, int base);
char *ft_lowercase(char *str);
void print_padding(t_vars *elts, int valid, int ok);
int handle_multiple_flags(char *str, t_vars *elts, char *sign,
int pre);
int print_num(long var, t_vars *elts, char *str, int ok);
int print_string(char *str, t_vars *elts);
int print(long var, t_vars *elts, char type);
int print_char(char c);
void search_flags1(const char *fmt, t_vars *var, int *i);
void search_flags2(const char *fmt, t_vars *var, int *i,
va_list *arg_ptr);
void verify_speciefier(const char *fmt, t_vars *var, int *i,
va_list *arg_ptr);
void initilize_vars(t_vars *var, int x);
int print_character(char str, t_vars *elts);
#endif