stat st_size获取文件大小单位?

sanxia19880206 2010-07-20 03:07:20

int filesize;
stat(indir,&filestat);
if(S_ISREG(filestat.st_mode))
{
printf("%s\n",indir);
printf("file size = %d\n",filesize);
filesize = filestat.st_size;
}


这里的filesize单位是多少 转换为k m G
该怎么转?
...全文
2498 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnlm2 2010-07-20
  • 打赏
  • 举报
回复
2楼正解
wwwunix 2010-07-20
  • 打赏
  • 举报
回复
你这段代码有问题。stat函数的原型为:
int stat(const char *pathname,struct stat *buf);
其中struct stat结构定义为:
struct stat {
mode_t st_mode;
ino_t st_ino;
dev_t st_dev;
dev_t st_rdev;
nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
off_t st_size;
time_t st_atime;
time_t st_mtime;
time_t st_ctime;
long st_blksize;
long st_blocks;
};
其中st_size的单位为字节
谭海燕 2010-07-20
  • 打赏
  • 举报
回复
直接给出的是字节bytes

23,223

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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