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 _strlen(const char *str);
|
||||
char *_strcpy(char *dest, char *src);
|
||||
void append(char *str, char c);
|
||||
char *append(char *str, char c);
|
||||
|
||||
#endif
|
||||
|
||||
2
printf.c
2
printf.c
@@ -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;
|
||||
|
||||
19
strings.c
19
strings.c
@@ -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
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';
|
||||
|
||||
_printf("cat: %c", c);
|
||||
_printf("%c\n", c);
|
||||
return (0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user