我正在尝试用fwrite()
. 在这一点上,我可以写的最大块是 100000000(它可能比那个高一点......我没有尝试......)。我无法写入大小为 1000000000 的块,输出文件为 0 字节。
是否有可能编写例如 1000000000 或更大的块?
我uint64_t
用来存储这些伟大的数字。
先感谢您!
注释中来自 pastebin 的代码:-zw
char * pEnd;
uint64_t uintBlockSize=strtoull(chBlockSize, &pEnd, 10);
uint64_t uintBlockCount=strtoull(chBlockCount, &pEnd, 10);
char * content=(char *) malloc(uintBlockSize*uintBlockCount);
/*
Create vfs.structure
*/
FILE *storeFile;
storeFile = fopen (chStoreFile, "w");
if (storeFile!=NULL)
{
uint64_t i=uintBlockCount;
size_t check;
/*
Fill storeFile with empty Blocks
*/
while (i!=0)
{
fwrite(content,uintBlockSize, 1, storeFile);
i--;
}