基本上在我的项目中我必须使用gcc在unix os上创建一个VSF。我制作了一个由元块组成的体系结构,包含文件描述符和文件块。现在,如果我必须创建一个1 GB的文件系统,我假设我的元数据将占用250KB,Headers将占用1MB,其余部分将分配给我的文件块。因为我只创建二进制文件所以我使用fread / fwrite函数将块的结构写入二进制文件。现在我想将1 GB的大小传递给我的函数,这将创建不同的块。现在我的问题是如何使用fwrite函数创建给定大小的不同块,以便相应地分配所有1GB空间?
答案 0 :(得分:1)
fwrite函数的签名是
fwrite(const void * restrict ptr, size_t size, size_t nmemb,
FILE * restrict stream);
你只需要拿出尺寸为* nmemb = 1G的数字。
如果我的问题出错了,请发表评论。