Son similares, setbuf no devuelte nada, en cambio, setvbuf devuelve 0 si todo ha ido bien o -1 si ha habido algún error:
void setbuf(FILE *stream, char *buf);
int setvbuf(FILE *stream, char *buf, int mode, size_t size);
Por si te sirve de algo ( Inglés ):
http://beej.us/guide/bgc/output/html...e/setvbuf.html
Salu2.