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;}