Что неправильно, так это то, что любая функция printf
ожидает const char *
, а вы предоставляете только char *
. Поскольку буфер может содержать все, что вы хотите, компилятор не уверен, что он будет содержать правильную строку формата. Просто сделай
fprintf(stderr,"%s",buf);
чтобы быть уверенным, что вы не пропустите что-то странное.