建议linux下使用stat()获取文件大小
来源:互联网 发布:手机迅雷网络异常 编辑:程序博客网 时间:2024/06/08 04:03
linux下的stat函数是专门用来获取文件状态的API,需要一个结构体struct stat
定义如下:
struct stat { dev_t st_dev; /* ID of device containing file */ ino_t st_ino; /* inode number */ mode_t st_mode; /* protection */ nlink_t st_nlink; /* number of hard links */ uid_t st_uid; /* user ID of owner */ gid_t st_gid; /* group ID of owner */ dev_t st_rdev; /* device ID (if special file) */ off_t st_size; /* total size, in bytes */ blksize_t st_blksize; /* blocksize for filesystem I/O */ blkcnt_t st_blocks; /* number of 512B blocks allocated */ }其中st_size是文件大小,类型是off_t,其实就是long,在64位机下是8位,可以表示文件大小为2^63-1B,换算成G是8589934592GB,比1TB的硬盘都要大(在32位机下long是4位,最大能表示2G的文件,如果在32位机获取大于2G文件的大小,就很难处理)
stat函数需要2个参数:一个是文件位置,struct stat变量用来返回文件信息;返回值-1失败,0成功
#include <stdio.h>#include <sys/stat.h>int main(int argc, char *argv[]){struct stat statbuff;if( -1==stat("./Ubuntu-16.04.2.vdi", &statbuff) ){printf("stat wrong\n");}else{printf("stat success.%ld\n", statbuff.st_size);}}6.3G的文件,结果如下图;
在linux下获得文件大小还可以使用ftell函数,不过需要打开文件和移动文件指针,操作会麻烦一点。
阅读全文
0 0
- 建议linux下使用stat()获取文件大小
- Linux stat函数获取文件属性(文件大小,创建时间等)
- stat() -- 获取文件大小
- linux下获取文件大小
- linux下获取文件大小总结
- linux c 下获取文件大小
- linux c 下获取文件大小
- linux c下获取文件大小
- Linux下获取文件大小的方法
- Linux下获取文件大小的方法
- Linux下获取文件大小的方法
- linux获取目录下文件大小的问题
- Linux下获取文件大小的方法
- Linux下获取文件大小方法汇总
- Linux下获取文件大小的方法
- linux下C++读取文件,获取文件大小。
- Linux下获取文件大小,检索目录函数
- Linux下获取文件大小,检索目录函数
- Linux6.4重新安装yum服务报错:yum服务不存在
- BeanUtils个人见解
- mysql的连接超时设置
- 非负矩阵分解(NMF)论文笔记(3)
- 修改Gitlab端口 ( Bitnami 方式安装下)
- 建议linux下使用stat()获取文件大小
- 正则表达式相关:C# 抓取网页类(获取网页中所有信息)
- 浮点数取模
- Linux下如何用C编程实现检测网卡与网线的连接状态
- SVN服务器搭建和使用(三)
- 机器学习小试(1)TensorFlow的第一个程序
- jquery js checkbox勾选/取消勾选的诡异问题
- ==和===比较
- DEVC++下编译helib