refactored append and char test
This commit is contained in:
2
main.h
2
main.h
@@ -4,6 +4,6 @@ int _printf(const char *format, ...);
|
|||||||
int _contains(const char *str, char c);
|
int _contains(const char *str, char c);
|
||||||
int _strlen(const char *str);
|
int _strlen(const char *str);
|
||||||
char *_strcpy(char *dest, char *src);
|
char *_strcpy(char *dest, char *src);
|
||||||
void append(char *str, char c);
|
char *append(char *str, char c);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
2
printf.c
2
printf.c
@@ -38,7 +38,7 @@ int _printf(const char *format, ...)
|
|||||||
break;
|
break;
|
||||||
case 'c': /* add 1 byte and i++ */
|
case 'c': /* add 1 byte and i++ */
|
||||||
c = (char) va_arg(args, int);
|
c = (char) va_arg(args, int);
|
||||||
append(buffer, c);
|
buffer = append(buffer, c);
|
||||||
BUFF_SIZE += 1;
|
BUFF_SIZE += 1;
|
||||||
buff_idx += 1;
|
buff_idx += 1;
|
||||||
break;
|
break;
|
||||||
|
|||||||
19
strings.c
19
strings.c
@@ -1,4 +1,5 @@
|
|||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* _strlen - Takes string and return its length
|
* _strlen - Takes string and return its length
|
||||||
@@ -45,9 +46,19 @@ int _contains(const char *str, char c)
|
|||||||
* Return: da string but appended
|
* Return: da string but appended
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void append(char *str, char c)
|
char* append(char *str, char c)
|
||||||
{
|
{
|
||||||
int len = _strlen(str);
|
int len, i;
|
||||||
*(str + len) = c;
|
char *new_me;
|
||||||
*(str + len + 1) = '\0';
|
|
||||||
|
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
17
tests/append.c
Normal 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);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -10,6 +10,6 @@ int main(void)
|
|||||||
{
|
{
|
||||||
char c = 'c';
|
char c = 'c';
|
||||||
|
|
||||||
_printf("cat: %c", c);
|
_printf("%c\n", c);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user