#include <stdio.h>
#include <string.h>
int main(void)
{
char str[512] = "";
char* end = str + sizeof str;
// void* memccpy(void* restrict dest, const void* restrict src, int c, size_t count);
// memccpy returns a pointer to the next byte in dest - after copy
char* p = memccpy(str, "c, ", '\0', sizeof str - 1);
if (p) {
p = memccpy(p - 1, "c++, ", '\0', end - p);
}
if (p) {
p = memccpy(p - 1, "java, ", '\0', end - p);
}
if (p) {
p = memccpy(p - 1, "python ", '\0', end - p);
}
if (!p) {
end[-1] = '\0';
}
puts(str);
}
/*
run:
c, c++, java, python
*/