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

c源码兑现创建固定大小的文件

2013-07-27 
c源码实现创建固定大小的文件怎么用c源码在应用程序中创建一个256*1024大小的文件[解决办法]FILE *f fop

c源码实现创建固定大小的文件
怎么用c源码在应用程序中创建一个256*1024大小的文件

[解决办法]
FILE *f = fopen("test","w");
fseek(f,SEEK_CUR,256*1024-1);
fputc(0,f);
这样就可以了。

或者用linux api。  
int ftruncate(int fd, off_t length)

空洞是空洞,但是**文件大小**是确实是256*1024了,只是占用的磁盘很少。这种方法速度最快。
否则就一直填充256*1024字节的数据进去,不过这个创建速度很慢。
[解决办法]
直接建立一个空的256*1024(全部写上0xFF)的固定大小的文件不就好了。

#define SIZE (256*1024)
int write_bytes = 0, write_size = 0;
char buffer[1024];
memset(buffer, 0xFF, sizeof(buffer));
FILE fp = fopen("file.bin", "wb");
if(fp){
    while(SIZE){
        if(SIZE < 1024){
            write_size = SIZE;   
        }
        else
            write_size = 1024;

        SIZE -= fwrite(buffer, sizeof(char), write_size, fp);
    }
}
fclose(fp);

热点排行