-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathspace_modifstr.c
92 lines (84 loc) · 2.21 KB
/
space_modifstr.c
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/*
** EPITECH PROJECT, 2023
** modifspace function
** File description:
** modifspace file 1
*/
#include "includes/my_printf.h"
void my_putstrn(char *src, int n)
{
for (int i = 0; i < n; i++)
my_putchar(src[i]);
return;
}
int printlen_str(char *src, int len, flags_t flags_nbr)
{
int i = 0;
if (flags_nbr.preci != 6) {
len = flags_nbr.preci_int;
for (i = len; i < flags_nbr.lenght; i++)
my_putchar(' ');
if (len >= flags_nbr.preci_int)
my_putstrn(src, flags_nbr.preci_int);
else
my_putstrn(src, len);
return i;
}
if (flags_nbr.preci_int == 0 && flags_nbr.preci == 6) {
len = my_strlen(src);
for (i = len; i < flags_nbr.lenght; i++)
my_putchar(' ');
my_putstr(src);
return i;
}
return i;
}
int printlenmenos_str(char *src, int len, flags_t flags_nbr)
{
int i = 0;
if (flags_nbr.preci != 6) {
if (len >= flags_nbr.preci_int){
len = flags_nbr.preci_int;
my_putstrn(src, flags_nbr.preci_int);
}else
my_putstrn(src, len);
for (i = len; i < flags_nbr.lenght; i++)
my_putchar(' ');
return i;
}
if (flags_nbr.preci_int == 0 && flags_nbr.preci == 6) {
len = my_strlen(src);
my_putstr(src);
for (i = len; i < flags_nbr.lenght; i++)
my_putchar(' ');
return i;
}
return i;
}
int printcla_str(char *src, int len, flags_t flags_nbr)
{
if (flags_nbr.preci != 6) {
if (len >= flags_nbr.preci_int) {
my_putstrn(src, flags_nbr.preci_int);
len = flags_nbr.preci_int;
}else
my_putstrn(src, len);
return len;
}
if (flags_nbr.preci_int == 0 && flags_nbr.preci == 6) {
len = my_strlen(src);
my_putstr(src);
return len;
}
return 0;
}
int print_str(int len, char *src, flags_t flags_nbr)
{
if (flags_nbr.lenght > 0 && flags_nbr.menos == 0) {
return printlen_str(src, len, flags_nbr);
}
if (flags_nbr.lenght > 0 && flags_nbr.menos > 0) {
return printlenmenos_str(src, len, flags_nbr);
}
return printcla_str(src, len, flags_nbr);
}