首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fseek和fwrite通过EOF

fseek和fwrite通过EOF
EN

Stack Overflow用户
提问于 2020-04-29 04:10:30
回答 1查看 89关注 0票数 2

让我们首先假设我有一个由5个整数组成的20字节二进制文件。现在让我们假设我试图:

代码语言:javascript
复制
fseek(fp, 2*sizeof(int), SEEK_END)

我试着给他打电话:

代码语言:javascript
复制
fwrite(&i, sizeof(int), 1, fp);

这有可能吗?

如果可能,新的二进制文件的大小是32,还是仅仅是24?如果是32,那么从位置20到27的二进制文件的内容是什么?

EN

回答 1

Stack Overflow用户

发布于 2020-04-29 04:20:11

根据this的说法

  • 库实现不允许有意义地支持SEEK_END (因此,使用它的代码没有真正的标准

here

POSIX允许在现有的文件结尾之外进行查找。如果在此寻道之后执行输出,则从间隙读取的任何数据都将返回零字节。在文件系统支持的情况下,这将创建一个稀疏文件

在我的测试系统seeking上,过去的SEEK_END用空字节填充文件的其余部分,直到新的文件指针。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61489134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档