gpt4 book ai didi

c - [C][Stat][Fileinfo] 当我使用 stat() 调用返回结构时,为什么 st_mode 定义为不在结构中的内容?

转载 作者:行者123 更新时间:2023-11-30 15:15:00 30 4
gpt4 key购买 nike

我正在尝试使用返回的 stat 结构中的 st_mode,该结构是我通过以下方式从 stat() 调用获得的;

        char *fn = "test.c"

struct stat *buf = malloc(sizeof(stat));

stat(fn,buf);

if(S_ISREG(buf.st_mode))
{
printf("this file is a regular file..."); //if regular
}

当我尝试编译此代码时,出现以下错误:

server1.c: In function ‘main’:
server1.c:223:32: error: request for member ‘st_mode’ in something not
a structure or union
if(S_ISREG(fileData.st_mode))
^

为什么会出现这个编译错误?我自己似乎找不到太多信息..

最佳答案

buf 不是 struct statbuf 是一个指向 struct stat 的指针,并且指针没有 st_mode 字段。要获取 buf 指向的 struct statst_mode 字段,请使用 (*buf) .st_mode,或简称为buf->st_mode

关于c - [C][Stat][Fileinfo] 当我使用 stat() 调用返回结构时,为什么 st_mode 定义为不在结构中的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33792423/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com