0) Выходные, чо ))
1) Возможно то, чего я хочу уже есть, а я и не знаю. Поэтому опишу задачу.
Хочу ф-цию которая:
char *x;
fn(&x, "abcde", 2);
printf("X: %s\n", x); // X: ab
2) Даже если такая есть, всеравно хочу понять как оно работает. Поэтому пишу свою.
void
fn(char **dst, const char *src, const size_t len)
{
size_t src_len = strlen(src);
size_t dst_len = (len >= src_len ? src_len : len);
*dst = (char *) malloc(dst_len + 1);
// часть закомментирована, падает на **dst++
while (dst_len-- /*&& (**dst++ = *src++)*/);
// так работает
*dst = "ljhg";
// еще ж в конец *dst надо '\0' воткнуть
}
ЧЯДНТ?