A-maze-D documentation 1.0.0
Loading...
Searching...
No Matches
myformats.h
1/*
2** EPITECH PROJECT, 2023
3** my_printf
4** File description:
5** The header of all formats and flags
6*/
7
8#include "../my.h"
9
10#ifndef MYFORMATS_H_
11 #define MYFORMATS_H_
12
13 #define FORMATAGE "-+ #0"
14 #define WIDTH "0123456789"
15 #define PRECISION "."
16 #define NUMBERS "0123456789"
17
18typedef struct formating_s {
19 int fd;
20 int id_ft;
21 int id_wd;
22 int id_prc;
23 int id_nb;
24 int id_sp;
25 int nb_format;
26 char final_format[10];
27 char next_chara;
28 va_list *liste;
29 int index_user;
30 int id_us;
31 char flag;
33
34typedef struct flags_s {
35 char *str;
36 int index_flag;
37} flags_t;
38
39typedef struct user_s {
40 char const *str;
41 int total_len;
42 int i;
43} user_t;
44
45/* Find functions */
46formating_t *find_first(user_t *user, int *i,
47 formating_t *formating);
48formating_t *find_width(user_t *user, int *i,
49 formating_t *formating);
50formating_t *find_precision(user_t *user, int *i,
51 formating_t *formating);
52formating_t *find_numbers(user_t *user, int *i,
53 formating_t *formating);
54formating_t *find_specifier(user_t *user, int *i,
55 formating_t *formating);
56
57/* Format functions */
58void format_first(user_t *user, flags_t *flgs,
59 formating_t *formating, int *copy);
60void format_width(user_t *user, flags_t *flgs,
61 formating_t *formating, int *copy);
62void format_precision(user_t *user, flags_t *flgs,
63 formating_t *formating, int *copy);
64void format_numbers(user_t *user, flags_t *flgs,
65 formating_t *formating, int *copy);
66void format_specifier(user_t *user, flags_t *flgs,
67 formating_t *formating, int *copy);
68void my_show_formating(formating_t *formating);
69
70void format_plus_double(char *str_finale, formating_t *formating, double nb);
71void format_moins_double(char *str_finale, formating_t *formating, double nb);
72void format_esp_double(char *str_finale, formating_t *formating, double nb);
73void format_hash_double(char *str_finale, formating_t *formating, double nb);
74void format_zero_double(char *str_finale, formating_t *formating, double nb);
75void format_it_double(char *str_finale,
76 formating_t *formating, double partie_d);
77void precise_it_double(char *str_finale,
78 formating_t *formating, double partie_d);
79
80void format_plus_int(char *str_finale,
81 formating_t *formating, size_t nb);
82void format_moins_int(char *str_finale,
83 formating_t *formating, size_t nb);
84void format_esp_int(char *str_finale,
85 formating_t *formating, size_t nb);
86void format_hash_int(char *str_finale,
87 formating_t *formating, size_t nb);
88void format_zero_int(char *str_finale,
89 formating_t *formating, size_t nb);
90void format_it_int(char *str_finale,
91 formating_t *formating, size_t nb);
92void precise_it_int(char *str_finale,
93 formating_t *formating, size_t nb);
94
95void format_plus_char(char *str_finale, formating_t *formating, char c);
96void format_moins_char(char *str_finale, formating_t *formating, char c);
97void format_esp_char(char *str_finale, formating_t *formating, char c);
98void format_hash_char(char *str_finale, formating_t *formating, char c);
99void format_zero_char(char *str_finale, formating_t *formating, char c);
100void format_it_char(char *str_finale,
101 formating_t *formating, char c);
102
103void format_plus_str(char *str_finale, formating_t *formating);
104void format_moins_str(char *str_finale, formating_t *formating);
105void format_esp_str(char *str_finale, formating_t *formating);
106void format_hash_str(char *str_finale, formating_t *formating);
107void format_zero_str(char *str_finale, formating_t *formating);
108void format_it_str(char *str_finale,
109 formating_t *formating);
110
111/* Specify functions */
112char *specify_it_int(formating_t *formating, size_t temp);
113char *specify_it_base(formating_t *formating, size_t temp, char *);
114
115/* Flag functions */
116int flag_c(va_list list, formating_t *);
117int flag_s(va_list list, formating_t *);
118int flag_d(va_list list, formating_t *);
119int flag_i(va_list list, formating_t *);
120int flag_p(va_list list, formating_t *);
121int flag_o(va_list list, formating_t *);
122int flag_u(va_list list, formating_t *);
123int flag_x(va_list list, formating_t *);
124int flag_bigx(va_list list, formating_t *);
125int flag_e(va_list list, formating_t *);
126int flag_bige(va_list list, formating_t *);
127int flag_f(va_list list, formating_t *);
128int flag_bigf(va_list list, formating_t *);
129int flag_g(va_list list, formating_t *);
130int flag_bigg(va_list list, formating_t *);
131int flag_a(va_list list, formating_t *);
132int flag_biga(va_list list, formating_t *);
133int flag_n(va_list list, formating_t *, int len);
134int flag_m(va_list list, formating_t *);
135int flag_b(va_list list, formating_t *);
136int flag_bigs(va_list list, formating_t *);
137int flag_bigd(va_list list, formating_t *);
138int flag_percent(va_list list, formating_t *);
139
140extern int (*FLAGS[])(va_list, formating_t *);
141
142#endif /* MYFORMATS_H_ */
The header file of the libmy.
Definition myformats.h:34
Definition myformats.h:18
Definition myformats.h:39