linux__获取文件信息___操作
来源:互联网 发布:怎么做好一个淘宝客 编辑:程序博客网 时间:2024/06/03 14:30
#include <stdio.h>#include <time.h>#include <sys/types.h>#include <sys/stat.h>#include <stdio.h>#include <errno.h>int main(){int size; char* filepath = "./a.out"; struct stat info; stat(filepath, &info); size = info.st_size; printf("a.out size is %d\n",size);}#if 0还可以获取一下的内容:定义在#include <sys/types.h> #include <sys/stat.h> #include <unistd.h>可以通过 man 2 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 file system I/O */ blkcnt_t st_blocks; /* number of 512B blocks allocated */ time_t st_atime; /* time of last access */ time_t st_mtime; /* time of last modification */ time_t st_ctime; /* time of last status change */ };#endif
-
读取文件的大小#include <stdio.h>#define DEBUG(argv) printf argvtypedef unsigned int u32;int main(){ FILE *finput; u32 strmLen; finput = fopen("hi3515_w704h576.yuv","rb"); if (finput == NULL) { DEBUG(("UNABLE TO OPEN INPUT FILE\n")); return -1; } fseek(finput,0L,SEEK_END); strmLen = (u32)ftell(finput); rewind(finput); printf("file len is %dM\n",strmLen/(1024*1024)); return 0;}