第一种方法最滥,又慢又无法保证连续分布,第二种我不知道它的底层实现,但一样是很慢(对上G大小的文件来说)
请问各位大虾有没有其他方法实现文件的预分配空间呢?
5 个解决方案
#1
关注,帮顶
#2
SetFilePointer
#3
#include <io.h>
#include <fcntl.h>
#include <sys/stat.h>
void main()
{
int handle=_open(".\\tmp.dat",_O_RDWR | _O_CREAT, _S_IREAD | _S_IWRITE );
_chsize(handle,1024*1024);
_close(handle);
}
#include <fcntl.h>
#include <sys/stat.h>
void main()
{
int handle=_open(".\\tmp.dat",_O_RDWR | _O_CREAT, _S_IREAD | _S_IWRITE );
_chsize(handle,1024*1024);
_close(handle);
}
#4
ls非常正确加100分
#5
Good,性能比我之前提到的方法来得快,而且不会导致系统一点都动不了。结帖
#1
关注,帮顶
#2
SetFilePointer
#3
#include <io.h>
#include <fcntl.h>
#include <sys/stat.h>
void main()
{
int handle=_open(".\\tmp.dat",_O_RDWR | _O_CREAT, _S_IREAD | _S_IWRITE );
_chsize(handle,1024*1024);
_close(handle);
}
#include <fcntl.h>
#include <sys/stat.h>
void main()
{
int handle=_open(".\\tmp.dat",_O_RDWR | _O_CREAT, _S_IREAD | _S_IWRITE );
_chsize(handle,1024*1024);
_close(handle);
}
#4
ls非常正确加100分
#5
Good,性能比我之前提到的方法来得快,而且不会导致系统一点都动不了。结帖