当前位置: 技术问答>linux和unix
如何使用在创建文件时预先分配一定的磁盘空间
来源: 互联网 发布时间:2016-01-11
本文导语: 要求使用CRT 之前查了查 fopen()后fseek(),然后再fwrite()一下就好,但这样在给大文件分配空间时太耗时。 有没有什么其他别的方法达到WIN32 SDK里那个SetEndOfFile()的效果? | 找到一个使用low-level io routine的...
要求使用CRT
之前查了查
fopen()后fseek(),然后再fwrite()一下就好,但这样在给大文件分配空间时太耗时。
有没有什么其他别的方法达到WIN32 SDK里那个SetEndOfFile()的效果?
之前查了查
fopen()后fseek(),然后再fwrite()一下就好,但这样在给大文件分配空间时太耗时。
有没有什么其他别的方法达到WIN32 SDK里那个SetEndOfFile()的效果?
|
找到一个使用low-level io routine的方法
#include
#include
#include
#include
#include
#include
int main()
{
int fh=_open( "1.dat", _O_WRONLY | _O_CREAT, _S_IREAD | _S_IWRITE );
if(-1!=fh)
{
lseek(fh, 1024*1024*1024-1, SEEK_SET);
_write(fh, "", 1);
_close(fh);
}
getchar();
return 0;
}
#include
#include
#include
#include
#include
#include
int main()
{
int fh=_open( "1.dat", _O_WRONLY | _O_CREAT, _S_IREAD | _S_IWRITE );
if(-1!=fh)
{
lseek(fh, 1024*1024*1024-1, SEEK_SET);
_write(fh, "", 1);
_close(fh);
}
getchar();
return 0;
}