首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

怎么使用在创建文件时预先分配一定的磁盘空间

2012-03-27 
如何使用在创建文件时预先分配一定的磁盘空间要求使用CRT之前查了查fopen()后fseek(),然后再fwrite()一下

如何使用在创建文件时预先分配一定的磁盘空间
要求使用CRT

之前查了查
fopen()后fseek(),然后再fwrite()一下就好,但这样在给大文件分配空间时太耗时。

有没有什么其他别的方法达到WIN32   SDK里那个SetEndOfFile()的效果?


[解决办法]
找到一个使用low-level io routine的方法

#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>

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, "\0 ", 1);
_close(fh);
}
getchar();


return 0;
}

热点排行