stat() giving wrong directory size in c

后端 未结 3 805
庸人自扰
庸人自扰 2021-01-21 00:16

I need to find the size of a file or a directory whatever given in the commandline using stat(). It works fine for the files (both relative and absolute paths) but when I give a

3条回答
  •  甜味超标
    2021-01-21 00:56

    Im sorry, I missed it the first time, stat only gives the size of files, not directories:

    These functions return information about a file. No permissions are required on the file itself, but-in the case of stat() and lstat() - execute (search) permission is required on all of the directories in path that lead to the file.

    The st_size field gives the size of the file (if it is a regular file or a symbolic link) in bytes. The size of a symbolic link is the length of the pathname it contains, without a terminating null byte.

    look at the man page on fstat/stat

提交回复
热议问题