在linux中调用stat函数查看内核st_blksize出错

cillahehe 2010-04-02 09:32:16
我在网上查看的程序使用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,还望各位大侠细心指点,谢谢了

...全文
259 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

566

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧