如何用C语言获取文件的大小
2017-03-25 00:00
253 查看
ITAT复赛的一个题,涉及文件操作,不会=。=
回学校学习了下:
fseek
语法:
函数fseek()为给出的流设置位置数据. origin的值应该是下列值其中之一(在stdio.h中定义):
fseek()成功时返回0,失败时返回非零. 你可以使用fseek()移动超过一个文件,但是不能在开始处之前. 使用fseek()清除关联到流的EOF标记.
ftell
语法:
ftell()函数返回stream(流)当前的文件位置,如果发生错误返回-1.
至于stat调用,请详见:http://www.360doc.com/content/11/0110/16/4559801_85509847.shtml
代码如下:
回学校学习了下:
fseek
语法:
#include <stdio.h> int fseek( FILE *stream, long offset, int origin ); |
名称 | 说明 |
SEEK_SET | 从文件的开始处开始搜索 |
SEEK_CUR | 从当前位置开始搜索 |
SEEK_END | 从文件的结束处开始搜索 |
ftell
语法:
#include <stdio.h> long ftell( FILE *stream ); |
至于stat调用,请详见:http://www.360doc.com/content/11/0110/16/4559801_85509847.shtml
代码如下:
#include <sys/stat.h> #include <stdio.h> /* 函数名:getFileSize(char * strFileName) 功能:获取指定文件的大小 参数: strFileName (char *):文件名 返回值: size (int):文件大小 */ int getFileSize(char * strFileName) { FILE * fp = fopen(strFileName, "r"); fseek(fp, 0L, SEEK_END); int size = ftell(fp); fclose(fp); return size; } /* 函数名:getFileSizeSystemCall(char * strFileName) 功能:获取指定文件的大小 参数: strFileName (char *):文件名 返回值: size (int):文件大小 */ int getFileSizeSystemCall(char * strFileName) { struct stat temp; stat(strFileName, &temp); return temp.st_size; } int main() { printf("size = %dbyte\n", getFileSize("naxienian.mp3")); printf("size = %dbyte\n", getFileSizeSystemCall("naxienian.mp3")); return 0; }
相关文章推荐
- 如何用C语言获取文件的大小
- 如何用C语言获取文件的大小
- 如何用C语言获取文件的大小
- 如何用C语言获取文件的大小
- 如何用c语言获取文件的大小
- 【转载】C#如何操控FTP,获取FTP文件或文件夹列表,获取FTP文件大小,FTP上传,FTP删除文件,FTP新建文件夹、删除文件夹
- 如何获取指定文件的大小?
- C语言快速获取文件的大小
- How to get the size of file in C++ - 在C++中如何获取文件的大小
- C语言获取文件大小
- C++中如何获取文件大小的总结
- java开发中如何获取远程文件的大小
- 如何获取指定文件的大小
- 获取文件大小(C语言)
- C语言获取文件大小
- 如何通过ftell和fseek来获取文件大小
- 转帖:如何获取文件的大小
- 如何利用代码从网站上获取一个文件的大小,并且下载时不出现保存提示框
- ASP如何获取文件和目录空间大小
- 如何获取指定文件的大小