从打开的“FILE *”

时间:2016-12-17 09:04:47

标签: c file buffer

在C中,我们可以使用setvbuf(...)来设置缓冲区,大小和缓冲模式。我很惊讶地发现没有人问过如何读取这些值,给定一个开放的FILE*(例如stdout或用户提供的)。即,如何实现“getvbuf(...)”例程(甚至是它的一部分)?

void getvbuf(FILE* stream, char** pbuf,int* bufmode,size_t* bufsize);

1 个答案:

答案 0 :(得分:1)

我认为它不是标准的一部分。但是,Solaris引入了一些非标准机制来查询这些属性中的一些,这些属性也可以在GNU C编译器中使用。

选中此处了解详情:https://www.gnu.org/software/libc/manual/html_node/Controlling-Buffering.html

我很想知道你想要做一个getvbuf(..)类型的用例。