setvbuf

来源:11-9 案例:复制文件-3

prosmail

2021-01-20

char buffer[8192];
fread(buffer, sizeof(buffer[0]),8192, serc_file);
char buffer[8192];
setvbuf(src_file, buffer, _IOFBF, 8192);

老师您好,请教您一个问题。在读字节的时候,以上两种方法均可设置缓存大小为8192个字节,效果是一样的吗?如果一样,为什么还要多此一举用这个setvbuf?谢谢。

写回答

1回答

bennyhuo

2021-01-20

不一样啊。你仔细再看看视频的讲解,setbuf 是设置缓冲区,读文件的时候会先读到这个缓冲区里面。fread传入的buffer实际上是从缓冲区里面读出来的。

0
3
prosmail
非常感谢!
2021-01-20
共3条回复

C语言系统化精讲 重塑编程思想 打造坚实的开发基础

如果通向大牛的道路有捷径,那就是先学好C语言

2208 学习 · 853 问题

查看课程