Chinaunix

标题: 怎么获取用open打开的文件的大小 [打印本页]

作者: carol_sun    时间: 2008-09-26 14:28
标题: 怎么获取用open打开的文件的大小
int len = 0;
int fd;
fd=open(filename, O_RDONLY);

char buf[1024];
while((size = read(fd, buf, sizeof(buf))) > 0)
       len += size;

有没有更直接的取文件长度的方法?
作者: 熏红猴    时间: 2008-09-26 14:31
man 2 stat
作者: 5毛党党员    时间: 2008-09-26 14:41
x = lseek(fd , 0 , SEEK_END);
x是文件的长度

如果之后还要对文件操作,要lseek(fd , 0 , SEEK_SET);
作者: merabbit    时间: 2008-09-26 15:08
GetLength()函数   
作者: timespace    时间: 2008-09-26 15:23
fstat
作者: typadam    时间: 2008-09-26 17:54
fopen
fseek(fp, 0, SEEK_END)
len = ftell(fp);//长度....




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2