-
Notifications
You must be signed in to change notification settings - Fork 0
/
39_ft_write_one_in_two_chars.C
87 lines (64 loc) · 2.04 KB
/
39_ft_write_one_in_two_chars.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
/*
Write the function ft_write_one_in_two_chars that takes a string as its argument
The function must write every one out of two characters starting from the first
If the argument is a null pointer, the function must write "NULL" on standard output stream
If the argument is an empty string, the function must write "Empty string" on standard output stream
In all the above cases, the final output must be followed by a newline character
The function must be prototyped as follows: void ft_write_one_in_two_chars(char *str);
Allowed functions: write
Examples:
ft_write_one_in_two_chars("Dima"); // will print "Dm", followed by a newline
ft_write_one_in_two_chars("raw"); // will print "rw", followed by a newline
ft_write_one_in_two_chars("god"); // will print "gd", followed by a newline
ft_write_one_in_two_chars("0123456789"); // will print "02468", followed by a newline
ft_write_one_in_two_chars(""); // will print "Empty string", followed by a newline
ft_write_one_in_two_chars(NULL); // will print "NULL", followed by a newline
*/
#include <stdio.h>
#include <unistd.h>
void ft_putchar(char c)
{
write(1, &c, 1);
}
void ft_write_one_in_two_chars(char *str)
{
int i;
i = 0;
if (str == NULL)
{
write(1, "NULL\n", 6); // need '\n' cos return stops the function
return;
}
else if (str[0] == '\0')
{
write(1, "Empty string", 13);
}
else
{
while (str[i] != '\0')
{
if (i % 2 != 0) // if 'i' is odd number
{
i++;
}
if (str[i] != '\0')
{
ft_putchar(str[i]);
i++;
}
}
}
write(1, "\n", 1);
}
/*
int main()
{
ft_write_one_in_two_chars("Dima");
ft_write_one_in_two_chars("raw");
ft_write_one_in_two_chars("god");
ft_write_one_in_two_chars("0123456789");
ft_write_one_in_two_chars("");
ft_write_one_in_two_chars(NULL);
return (0);
}
*/