Skip to content

Commit

Permalink
add (libft): some string funcs and repo improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
lareii committed Apr 26, 2024
1 parent c11203b commit b6c9b2d
Show file tree
Hide file tree
Showing 11 changed files with 193 additions and 13 deletions.
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# ide settings
.vscode/

# builds and objects
*.out
*.o
*.o

# ignore the subjects
*.pdf
19 changes: 19 additions & 0 deletions libft/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
NAME = libft

CC = gcc
FLAGS = -Wall -Wextra -Werror

SRC = ft_isalpha.c \
ft_isdigit.c \
ft_isalnum.c \
ft_isascii.c \
ft_isprint.c \
ft_strlen.c \
ft_strlcpy.c \
ft_strlcat.c \
ft_bzero.c \
ft_memset.c \
ft_memcpy.c \
ft_memcmp.c \
ft_memchr.c
INC = libft.h
28 changes: 28 additions & 0 deletions libft/ft_memchr.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_memchr.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: ebabaogl <ebabaogl@student.42kocaeli.co +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/26 15:41:55 by ebabaogl #+# #+# */
/* Updated: 2024/04/26 16:39:47 by ebabaogl ### ########.fr */
/* */
/* ************************************************************************** */

#include "libft.h"

void *ft_memchr(const void *s, int c, size_t n)
{
unsigned char *p;

p = (unsigned char *)s;
while (n > 0)
{
if (*p == (unsigned char)c)
return (c);
p++;
n--;
}
return (0);
}
36 changes: 36 additions & 0 deletions libft/ft_memcmp.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_memcmp.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: ebabaogl <ebabaogl@student.42kocaeli.co +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/26 15:52:23 by ebabaogl #+# #+# */
/* Updated: 2024/04/26 16:22:07 by ebabaogl ### ########.fr */
/* */
/* ************************************************************************** */

#include "libft.h"

int ft_memcmp(const void *s1, const void *s2, size_t n)
{
unsigned char *p1;
unsigned char *p2;

p1 = (unsigned char *)s1;
p2 = (unsigned char *)s2;
while (n > 0)
{
if (*p1 > *p2)
return (1);
else if (*p1 < *p2)
return (-1);
else
{
p1++;
p2++;
}
n--;
}
return (0);
}
2 changes: 1 addition & 1 deletion libft/ft_memcpy.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
/* By: ebabaogl <ebabaogl@student.42kocaeli.co +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/23 14:31:16 by ebabaogl #+# #+# */
/* Updated: 2024/04/23 15:01:41 by ebabaogl ### ########.fr */
/* Updated: 2024/04/26 15:11:31 by ebabaogl ### ########.fr */
/* */
/* ************************************************************************** */

Expand Down
18 changes: 18 additions & 0 deletions libft/ft_memmove.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_memmove.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: ebabaogl <ebabaogl@student.42kocaeli.co +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/26 14:19:12 by ebabaogl #+# #+# */
/* Updated: 2024/04/26 16:52:43 by ebabaogl ### ########.fr */
/* */
/* ************************************************************************** */

#include "libft.h"

void *ft_memmove(void *dest, const void *src, size_t n)
{
return (dest);
}
2 changes: 1 addition & 1 deletion libft/ft_memset.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
/* By: ebabaogl <ebabaogl@student.42kocaeli.co +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/19 16:38:06 by ebabaogl #+# #+# */
/* Updated: 2024/04/23 14:30:18 by ebabaogl ### ########.fr */
/* Updated: 2024/04/26 14:59:30 by ebabaogl ### ########.fr */
/* */
/* ************************************************************************** */

Expand Down
32 changes: 32 additions & 0 deletions libft/ft_strlcat.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strlcat.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: ebabaogl <ebabaogl@student.42kocaeli.co +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/26 17:44:34 by ebabaogl #+# #+# */
/* Updated: 2024/04/26 18:42:56 by ebabaogl ### ########.fr */
/* */
/* ************************************************************************** */

#include "libft.h"

size_t ft_strlcat(char *dst, const char *src, size_t size)
{
size_t i;
size_t j;

i = 0;
j = 0;
while (i < size && dst[i])
i++;
while ((i + j + 1) < size && src[j])
{
dst[i + j] = src[j];
j++;
}
if (i != size)
dst[i + j] = '\0';
return (i + ft_strlen(src));
}
38 changes: 38 additions & 0 deletions libft/ft_strlcpy.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strlcpy.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: ebabaogl <ebabaogl@student.42kocaeli.co +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/26 16:57:33 by ebabaogl #+# #+# */
/* Updated: 2024/04/26 17:44:22 by ebabaogl ### ########.fr */
/* */
/* ************************************************************************** */

#include "libft.h"

size_t ft_strlcpy(char *dest, const char *src, size_t size)
{
size_t c;

c = 0;
if (size != 0)
{
while (src[c] && c < (size - 1))
{
dest[c] = src[c];
c++;
}
dest[c] = '\0';
}
return (ft_strlen(src));
}

/*
strcpy: src uzun olursa
strncpy: n > len(dst) && len(src) > len(dst)
strlcpy: n > len(dst) && len(src) > len(dst)
zattiri zort zort oluyo bu durumlarda
*/
13 changes: 5 additions & 8 deletions libft/ft_strlen.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,18 @@
/* By: ebabaogl <ebabaogl@student.42kocaeli.co +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/19 16:20:27 by ebabaogl #+# #+# */
/* Updated: 2024/04/19 16:30:07 by ebabaogl ### ########.fr */
/* Updated: 2024/04/26 17:43:10 by ebabaogl ### ########.fr */
/* */
/* ************************************************************************** */

#include "libft.h"

size_t ft_strlen(const char *s)
{
size_t c;
const char *c;

c = 0;
while (*s)
{
s++;
c = s;
while (*c)
c++;
}
return (c);
return (c - s);
}
10 changes: 8 additions & 2 deletions libft/libft.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
/* By: ebabaogl <ebabaogl@student.42kocaeli.co +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/19 16:05:11 by ebabaogl #+# #+# */
/* Updated: 2024/04/26 14:04:27 by ebabaogl ### ########.fr */
/* Updated: 2024/04/26 18:51:46 by ebabaogl ### ########.fr */
/* */
/* ************************************************************************** */

Expand All @@ -20,9 +20,15 @@ int ft_isalpha(int c);
int ft_isascii(int c);
int ft_isdigit(int c);
int ft_isprint(int c);

size_t ft_strlen(const char *s);
size_t ft_strlcpy(char *dst, const char *src, size_t size);
size_t ft_strlcat(char *dst, const char *src, size_t size);

void *ft_memset(void *s, int c, size_t n);
void ft_bzero(void *s, size_t n);
void *ft_memcpy(void *dest, const void *src, size_t n);
void *ft_memchr(const void *s, int c, size_t n);
void ft_bzero(void *s, size_t n);
int ft_memcmp(const void *s1, const void *s2, size_t n);

#endif

0 comments on commit b6c9b2d

Please sign in to comment.