0

基本上在我的项目中,我必须使用 gcc 在 unix os 上创建一个 VSF。我已经制作了由元块、包含文件描述符和文件块的标头组成的体系结构。现在,如果我必须创建一个 1 GB 的文件系统,我假设我的元数据将占用 250 KB,标题将占用 1 MB,其余部分将分配给我的文件块。因为我只创建二进制文件,所以我使用 fread/fwrite 函数将块的结构写入二进制文件。现在我想将 1 GB 的大小传递给我的函数,该函数将创建不同的块。现在我的问题是如何使用 fwrite 函数创建给定大小的不同块,以便相应地分配所有 1GB 空间?

4

1 回答 1

1

fwrite 函数的签名是

fwrite(const void * restrict ptr, size_t size, size_t nmemb,
         FILE * restrict stream);

您只需要选择 size*nmemb = 1G 的数字。

如果我的问题错了,请发表评论。

于 2012-09-04T03:53:52.693 回答