refactored append and char test

This commit is contained in:
LinlyBoi
2023-08-21 14:28:36 +03:00
parent f316833e4c
commit 7fda3ce821
5 changed files with 35 additions and 7 deletions

2
main.h
View File

@@ -4,6 +4,6 @@ int _printf(const char *format, ...);
int _contains(const char *str, char c);
int _strlen(const char *str);
char *_strcpy(char *dest, char *src);
void append(char *str, char c);
char *append(char *str, char c);
#endif

View File

@@ -38,7 +38,7 @@ int _printf(const char *format, ...)
break;
case 'c': /* add 1 byte and i++ */
c = (char) va_arg(args, int);
append(buffer, c);
buffer = append(buffer, c);
BUFF_SIZE += 1;
buff_idx += 1;
break;

View File

@@ -1,4 +1,5 @@
#include "main.h"
#include <stdlib.h>
/**
* _strlen - Takes string and return its length
@@ -45,9 +46,19 @@ int _contains(const char *str, char c)
* Return: da string but appended
*/
void append(char *str, char c)
char* append(char *str, char c)
{
int len = _strlen(str);
*(str + len) = c;
*(str + len + 1) = '\0';
int len, i;
char *new_me;
len = _strlen(str);
new_me = malloc(len + 1);
i = -1;
while(*(str + ++i))
*(new_me + i) = *(str + i);
*(new_me + i++) = c;
*(new_me + len + 1) = '\0';
return (new_me);
}

17
tests/append.c Normal file
View File

@@ -0,0 +1,17 @@
#include "../main.h"
#include <stdio.h>
/**
*main - ensure append work
*/
int main(void)
{
char *str, c;
str = "hello";
c = 'c';
str = append(str, c);
_printf("%s\n", str);
return (0);
}

View File

@@ -10,6 +10,6 @@ int main(void)
{
char c = 'c';
_printf("cat: %c", c);
_printf("%c\n", c);
return (0);
}