相关疑难解决方法(0)

fallocate vs posix_fallocate

我正在讨论在posix_fallocate和之间使用哪个功能fallocate. posix_fallocate立即写入文件(将字符初始化为NULL).但是,fallocate不会更改文件大小(使用FALLOC_FL_KEEP_SIZE标志时).根据我的实验,似乎fallocate不会向文件写入NULL或零字符.

有人可以根据您的经验发表评论吗?谢谢你的时间.

c c++ posix

9
推荐指数
2
解决办法
7923
查看次数

Fallocate() 的作用是什么?

其实我有两个问题。

有什么fallocate()作用?

我阅读了手册页并有以下理解。对于支持文件中打孔的文件系统,fallocate()用于在文件中打孔并分配新空间。对于没有漏洞的文件系统,fallocate()只能用于在文件末尾后分配新空间,即仅在 时有效len + offset > file_size

我的理解正确吗?如果是的话,我还有以下问题。

fallocate()ftruncate()扩展文件时相比

现在我想创建一个新文件并在文件中分配特定大小的零填充字节。我意识到两者fallocate()ftruncate()可以完成这项工作。他们有什么区别?

顺便说一句,我知道这fallocate()是不可移植的,但由于我的程序仅适用于 Linux,因此没有考虑到其他类 Unix 系统的可移植性。

谢谢你!

c unix linux filesystems

4
推荐指数
1
解决办法
5835
查看次数

标签 统计

c ×2

c++ ×1

filesystems ×1

linux ×1

posix ×1

unix ×1