The function strcat and strncat concatenate one string onto another. In another words, both parameters must be char *. To concatenate a single character onto a string, you will need to do it slightly differently. For example you could implement a small function which in turn calls strcat
Code:
void concat_c(char *restrict str, char c, size_t n)
{
char c_str[2];
c_str[0] = c;
c_str[1] = '\0';
strncat(str, c_str, n);
}
// put '!' at the end of "hello" and print the result
int main()
{
char str[100] = "hello";
char c = '!';
concat_c(str, c, 100);
puts(str);
}