Write a function called repeatStr which repeats the given string string exactly n times.
repeatStr(6, "I") // "IIIIII"
repeatStr(5, "Hello") // "HelloHelloHelloHelloHello"
#include <string.h>
#include <stdlib.h>
char *repeat_str(size_t count, const char *src)
{
char *ptr;
if (!(ptr = (char*)malloc(sizeof(char) * strlen(src) * count + 1)))
return NULL;
*ptr = '\0';
for (size_t i = 0; i < count; i++)
strcat(ptr, src);
return ptr;
}
another solution
#include <string.h>
#include <stdlib.h>
char *repeat_str(size_t count, const char *src) {
char *result = calloc(((count * strlen(src)) + 1), sizeof(char));
while (count--)
strcat(result, src);
return result;
} -> calloc 을 사용하면 위의 malloc을 사용할 때 처럼 0으로 초기화시켜주지 않아도 자동으로 배열의 원소들을 0으로 초기화시켜준다.