如何用C语言获取文件的大小

如何用C语言获取文件的大小,第1张

两种方法:

1、用stat()函数来获取

int main(){ struct stat st stat( "file.txt", &st )printf(" file size = %d\n", st.st_size)return 0}2、用ftell()函数来获取

int main(){FILE *fp fp=fopen( "file.txt", "r") fseek(fp, 0L, SEEK_END ) printf(" file size = %d\n", ftell(fp) ) return 0}

c语言可以通过stat()函数获得文件属性,通过返回的文件属性,从中获取文件大小

#include

<sys/stat.h>

可见以下结构体和函数

struct

stat

{

_dev_t

st_dev

_ino_t

st_ino

unsigned

short

st_mode

short

st_nlink

short

st_uid

short

st_gid

_dev_t

st_rdev

_off_t

st_size

//文件大小

time_t

st_atime

time_t

st_mtime

time_t

st_ctime

}

stat(const

char

*,

struct

_stat

*)

//根据文件名得到文件属性

参考代码:

#include <sys/stat.h>

void main( )

{

struct stat buf

if ( stat( "test.txt", &buf ) <0 )

{

perror( "stat" )

return

}

printf("file size:%d\n", buf.st_size )

}

你需要使用fseek函数将文件指针指向最后:

fseek(fp, 0L, SEEK_END)

sz = ftell(fp)

其中sz就是文件的大小。

当你知道文件的大小后,就可以通过fseek重新定义到文件开始的位置:

fseek(fp, 0L, SEEK_SET)

或使用下面的函数定义的文件开始:

rewind(fp)

可以到秒秒学上看看相关的内容,上面的课程讲解得可以的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7932743.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存