在linux中调用stat函数查看内核st_blksize出错
我在网上查看的程序使用stat函数来查看内核的参数源代码如下
#include<stdio.h>
#include<unistd.h>
#include<time.h>
#include<sys/types.h>
#include<sys/stat.h>
int main(int argc,char *argv[])
{
struct stat buf;
if(argc!=2)
printf("input the parameter error!\n");
if(stat(argv[1],&buf)==-1)
printf("get the stat is faild!\n");
printf("st_dev:%d\n",buf.st_dev);
printf("st_ino:%d\n",buf.st_ino);
printf("st_mode:%d\n",buf.st_mode);
printf("st_nlink:%d\n",buf.st_nlink);
printf("st_uid:%d\n",buf.st_uid);
printf("st_gid:%d\n",buf.st_gid);
printf("st_rdev:%d\n",buf.st_rdev);
printf("st_size:%d\n",buf.st_size);
printf("st_blksize:%d\n",buf.st_blksize);
printf("st_atime:%s\n",ctime(&buf.st_atime));
printf("st_mtime:%s\n",ctime(&buf.st_mtime));
printf("st_ctime:%s\n",ctime(&buf.st_ctime));
return 0;
}
输出结果是下面
input the parameter error!
get the stat is faild!
st_dev:0
st_ino:1
st_mode:0
st_nlink:0
st_uid:0
st_gid:0
st_rdev:0
st_size:0
st_blksize:0
st_atime:Sun Apr 7 06:24:20 1974
st_mtime:Sun Apr 7 04:50:40 1974
st_ctime:Sun Apr 7 06:24:20 1974
根本就不是预期的结果,请高手指点哪里出了问题,谢谢 我是新手 刚开始接触linux,还望各位大侠细心指点,谢谢了