commit
This commit is contained in:
7
C_02/git_todo/.gitignore
vendored
Normal file
7
C_02/git_todo/.gitignore
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
**/main.c
|
||||
**/main.sh
|
||||
**/a.out
|
||||
**/a.sh
|
||||
**/Makefile
|
||||
**/*.swp
|
||||
**/*~
|
||||
39
C_02/git_todo/ex00/ft_strcpy.c
Normal file
39
C_02/git_todo/ex00/ft_strcpy.c
Normal file
@@ -0,0 +1,39 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_strcpy.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: gbaconni <marvin@42lausanne.ch> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2021/08/09 13:27:29 by gbaconni #+# #+# */
|
||||
/* Updated: 2021/08/11 14:49:52 by gbaconni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
char *ft_strcpy(char *dest, char *src)
|
||||
{
|
||||
int i;
|
||||
int src_size;
|
||||
int dest_size;
|
||||
|
||||
src_size = 0;
|
||||
while (src[src_size++] != '\0')
|
||||
continue ;
|
||||
dest_size = 0;
|
||||
while (dest[dest_size++] != '\0')
|
||||
continue ;
|
||||
i = 0;
|
||||
while (i < src_size)
|
||||
{
|
||||
dest[i] = src[i];
|
||||
i++;
|
||||
}
|
||||
while (i < dest_size)
|
||||
{
|
||||
dest[i] = '\0';
|
||||
i++;
|
||||
}
|
||||
return (dest);
|
||||
}
|
||||
29
C_02/git_todo/ex01/ft_strncpy.c
Normal file
29
C_02/git_todo/ex01/ft_strncpy.c
Normal file
@@ -0,0 +1,29 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_strncpy.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: gbaconni <marvin@42lausanne.ch> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2021/08/09 18:19:08 by gbaconni #+# #+# */
|
||||
/* Updated: 2021/08/12 09:49:18 by gbaconni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
char *ft_strncpy(char *dest, char *src, unsigned int n)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
i = 0;
|
||||
while (i < n && src[i] != '\0')
|
||||
{
|
||||
dest[i] = src[i];
|
||||
i++;
|
||||
}
|
||||
while (i < n)
|
||||
{
|
||||
dest[i] = '\0';
|
||||
i++;
|
||||
}
|
||||
return (dest);
|
||||
}
|
||||
33
C_02/git_todo/ex02/ft_str_is_alpha.c
Normal file
33
C_02/git_todo/ex02/ft_str_is_alpha.c
Normal file
@@ -0,0 +1,33 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_str_is_alpha.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: gbaconni <marvin@42lausanne.ch> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2021/08/09 17:43:26 by gbaconni #+# #+# */
|
||||
/* Updated: 2021/08/10 09:58:08 by gbaconni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
int ft_str_is_alpha(char *str)
|
||||
{
|
||||
int i;
|
||||
int r;
|
||||
int size;
|
||||
|
||||
size = 0;
|
||||
while (str[size] != '\0')
|
||||
{
|
||||
size++;
|
||||
}
|
||||
r = 1;
|
||||
i = 0;
|
||||
while (i < size)
|
||||
{
|
||||
r &= (str[i] >= 'a' && str[i] <= 'z') \
|
||||
|| (str[i] >= 'A' && str[i] <= 'Z');
|
||||
i++;
|
||||
}
|
||||
return (r);
|
||||
}
|
||||
32
C_02/git_todo/ex03/ft_str_is_numeric.c
Normal file
32
C_02/git_todo/ex03/ft_str_is_numeric.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_str_is_numeric.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: gbaconni <marvin@42lausanne.ch> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2021/08/10 10:14:17 by gbaconni #+# #+# */
|
||||
/* Updated: 2021/08/10 10:15:38 by gbaconni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
int ft_str_is_numeric(char *str)
|
||||
{
|
||||
int i;
|
||||
int r;
|
||||
int size;
|
||||
|
||||
size = 0;
|
||||
while (str[size] != '\0')
|
||||
{
|
||||
size++;
|
||||
}
|
||||
r = 1;
|
||||
i = 0;
|
||||
while (i < size)
|
||||
{
|
||||
r &= (str[i] >= '0' && str[i] <= '9');
|
||||
i++;
|
||||
}
|
||||
return (r);
|
||||
}
|
||||
32
C_02/git_todo/ex04/ft_str_is_lowercase.c
Normal file
32
C_02/git_todo/ex04/ft_str_is_lowercase.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_str_is_lowercase.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: gbaconni <marvin@42lausanne.ch> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2021/08/10 10:45:53 by gbaconni #+# #+# */
|
||||
/* Updated: 2021/08/10 10:45:56 by gbaconni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
int ft_str_is_lowercase(char *str)
|
||||
{
|
||||
int i;
|
||||
int r;
|
||||
int size;
|
||||
|
||||
size = 0;
|
||||
while (str[size] != '\0')
|
||||
{
|
||||
size++;
|
||||
}
|
||||
r = 1;
|
||||
i = 0;
|
||||
while (i < size)
|
||||
{
|
||||
r &= (str[i] >= 'a' && str[i] <= 'z');
|
||||
i++;
|
||||
}
|
||||
return (r);
|
||||
}
|
||||
32
C_02/git_todo/ex05/ft_str_is_uppercase.c
Normal file
32
C_02/git_todo/ex05/ft_str_is_uppercase.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_str_is_uppercase.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: gbaconni <marvin@42lausanne.ch> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2021/08/10 10:47:51 by gbaconni #+# #+# */
|
||||
/* Updated: 2021/08/10 10:48:16 by gbaconni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
int ft_str_is_uppercase(char *str)
|
||||
{
|
||||
int i;
|
||||
int r;
|
||||
int size;
|
||||
|
||||
size = 0;
|
||||
while (str[size] != '\0')
|
||||
{
|
||||
size++;
|
||||
}
|
||||
r = 1;
|
||||
i = 0;
|
||||
while (i < size)
|
||||
{
|
||||
r &= (str[i] >= 'A' && str[i] <= 'Z');
|
||||
i++;
|
||||
}
|
||||
return (r);
|
||||
}
|
||||
32
C_02/git_todo/ex06/ft_str_is_printable.c
Normal file
32
C_02/git_todo/ex06/ft_str_is_printable.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_str_is_printable.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: gbaconni <marvin@42lausanne.ch> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2021/08/10 11:05:18 by gbaconni #+# #+# */
|
||||
/* Updated: 2021/08/10 11:10:03 by gbaconni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
int ft_str_is_printable(char *str)
|
||||
{
|
||||
int i;
|
||||
int r;
|
||||
int size;
|
||||
|
||||
size = 0;
|
||||
while (str[size] != '\0')
|
||||
{
|
||||
size++;
|
||||
}
|
||||
r = 1;
|
||||
i = 0;
|
||||
while (i < size)
|
||||
{
|
||||
r &= (str[i] >= ' ' && str[i] <= '~');
|
||||
i++;
|
||||
}
|
||||
return (r);
|
||||
}
|
||||
29
C_02/git_todo/ex07/ft_strupcase.c
Normal file
29
C_02/git_todo/ex07/ft_strupcase.c
Normal file
@@ -0,0 +1,29 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_strupcase.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: gbaconni <marvin@42lausanne.ch> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2021/08/10 11:15:09 by gbaconni #+# #+# */
|
||||
/* Updated: 2021/08/10 11:25:39 by gbaconni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
char *ft_strupcase(char *str)
|
||||
{
|
||||
int i;
|
||||
int size;
|
||||
|
||||
size = 0;
|
||||
while (str[size++] != '\0')
|
||||
continue ;
|
||||
i = 0;
|
||||
while (i < size)
|
||||
{
|
||||
if (str[i] >= 'a' && str[i] <= 'z')
|
||||
str[i] = str[i] - 32;
|
||||
i++;
|
||||
}
|
||||
return (str);
|
||||
}
|
||||
29
C_02/git_todo/ex08/ft_strlowcase.c
Normal file
29
C_02/git_todo/ex08/ft_strlowcase.c
Normal file
@@ -0,0 +1,29 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_strlowcase.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: gbaconni <marvin@42lausanne.ch> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2021/08/10 11:34:35 by gbaconni #+# #+# */
|
||||
/* Updated: 2021/08/10 11:40:03 by gbaconni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
char *ft_strlowcase(char *str)
|
||||
{
|
||||
int i;
|
||||
int size;
|
||||
|
||||
size = 0;
|
||||
while (str[size++] != '\0')
|
||||
continue ;
|
||||
i = 0;
|
||||
while (i < size)
|
||||
{
|
||||
if (str[i] >= 'A' && str[i] <= 'Z')
|
||||
str[i] += 32;
|
||||
i++;
|
||||
}
|
||||
return (str);
|
||||
}
|
||||
37
C_02/git_todo/ex09/ft_strcapitalize.c
Normal file
37
C_02/git_todo/ex09/ft_strcapitalize.c
Normal file
@@ -0,0 +1,37 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_strcapitalize.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: gbaconni <marvin@42lausanne.ch> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2021/08/10 11:43:39 by gbaconni #+# #+# */
|
||||
/* Updated: 2021/08/12 09:47:40 by gbaconni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
char *ft_strcapitalize(char *str)
|
||||
{
|
||||
int i;
|
||||
char prev_c;
|
||||
|
||||
prev_c = ' ';
|
||||
i = 0;
|
||||
while (str[i] != '\0')
|
||||
{
|
||||
if (\
|
||||
(\
|
||||
(prev_c >= ' ' && prev_c <= '/') || \
|
||||
(prev_c >= ':' && prev_c <= '@') || \
|
||||
(prev_c >= '[' && prev_c <= '`') || \
|
||||
(prev_c >= '{' && prev_c <= '~') \
|
||||
) && \
|
||||
(str[i] >= 'a' && str[i] <= 'z') \
|
||||
)
|
||||
str[i] -= 32;
|
||||
else if (str[i] >= 'A' && str[i] <= 'Z')
|
||||
str[i] += 32;
|
||||
prev_c = str[i++];
|
||||
}
|
||||
return (str);
|
||||
}
|
||||
29
C_02/git_todo/ex10/ft_strlcpy.c
Normal file
29
C_02/git_todo/ex10/ft_strlcpy.c
Normal file
@@ -0,0 +1,29 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_strlcpy.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: gbaconni <marvin@42lausanne.ch> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2021/08/11 10:20:13 by gbaconni #+# #+# */
|
||||
/* Updated: 2021/08/12 10:40:17 by gbaconni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
unsigned int ft_strlcpy(char *dest, char *src, unsigned int size)
|
||||
{
|
||||
char *p_dest;
|
||||
char *p_src;
|
||||
unsigned int n;
|
||||
|
||||
p_dest = dest;
|
||||
p_src = src;
|
||||
n = size;
|
||||
while (n != 0 && --n != 0 && *p_src != '\0')
|
||||
*p_dest++ = *p_src++;
|
||||
if (size != 0)
|
||||
*p_dest = '\0';
|
||||
while (*p_src++)
|
||||
continue ;
|
||||
return (p_src - src - 1);
|
||||
}
|
||||
40
C_02/git_todo/ex11/ft_putstr_non_printable.c
Normal file
40
C_02/git_todo/ex11/ft_putstr_non_printable.c
Normal file
@@ -0,0 +1,40 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_putstr_non_printable.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: gbaconni <marvin@42lausanne.ch> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2021/08/11 11:29:09 by gbaconni #+# #+# */
|
||||
/* Updated: 2021/08/12 11:40:23 by gbaconni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
|
||||
// for i in {0..127}; do printf "%02x" $i; done
|
||||
void ft_putstr_non_printable(char *str)
|
||||
{
|
||||
const char *hex = "\
|
||||
000102030405060708090a0b0c0d0e0f\
|
||||
101112131415161718191a1b1c1d1e1f\
|
||||
202122232425262728292a2b2c2d2e2f\
|
||||
303132333435363738393a3b3c3d3e3f\
|
||||
404142434445464748494a4b4c4d4e4f\
|
||||
505152535455565758595a5b5c5d5e5f\
|
||||
606162636465666768696a6b6c6d6e6f\
|
||||
707172737475767778797a7b7c7d7e7f";
|
||||
|
||||
while (*str != '\0')
|
||||
{
|
||||
if (*str >= ' ' && *str != '~' + 1)
|
||||
write(1, str, 1);
|
||||
else
|
||||
{
|
||||
write(1, "\\", 1);
|
||||
write(1, hex + *str * 2, 2);
|
||||
}
|
||||
str++;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user