如何通过ftell和fseek来获取文件大小
#include <stdio.h>
int main ()
{
FILE * pFile=NULL;
long size;
pFile = fopen ("myfile.txt","rb");
if (pFile==NULL) perror ("Error opening file");
else
{
fseek (pFile, , SEEK_END);
size=ftell (pFile);
fclose (pFile);
pFile=NULL;
printf ("Size of myfile.txt is: %ld bytes.\n",size);
}
return ;
}
首先利用fseek(pfile,0,SEEK_END)将文件的当前位置移到文件的末尾,然后调用函数ftell()获得当前位置相对于文件首的位移,该位移值就等于文件所含字节数。这样就得到文件大小了!
fseek(重定位流上的文件指针)
int fseek(FILE *stream, long offset, int fromwhere);
函数说明:第一个参数stream为文件指针,  第二个参数offset为偏移量,整数表示正向偏移,负数表示负向偏移  第三个参数fromwhere设定从文件的哪里开始偏移,可能取值为:SEEK_CUR(当前位置)、 SEEK_END(文件结尾)或 SEEK_SET(文件开头), 其中SEEK_SET,SEEK_CUR和SEEK_END的值依次为0,1和2。
   例如:
fseek(fp,100L,0);把fp指针移动到离文件开头100字节处;
返回值: 成功,返回0,否则返回其他值。
ftell(返回当前文件位置)
long ftell(FILE *stream)
函数说明:用于得到文件位置指针当前位置相对于文件首的偏移字节数。
如何通过ftell和fseek来获取文件大小的更多相关文章
- ios  NSFileManager和NSFileHandle(附:获取文件大小 )
		转自 http://blog.csdn.net/zhibudefeng/article/details/7795946 //file 文件操作 NSFileManager 常见的NSFileMana ... 
- C/C++ 获取文件大小
		在C语言中测试文件的大小,主要使用二个标准函数. 1.fseek 函数原型:int fseek ( FILE * stream, long int offset, int origin ); 参数说明 ... 
- NSFileManager和NSFileHandle(附:获取文件大小 )
		本文转载至:http://www.cnblogs.com/pengyingh/articles/2350345.html 天牛 感谢原创作者的硕果 //file 文件操作 NSFileManager ... 
- [转]VC++获取文件大小集锦
		方法一: WIN32_FIND_DATA fileInfo; HANDLE hFind; DWORD fileSize; const char *fileName = 文件的路径及名字; hFind ... 
- PHP移动文件指针ftell()、fseek()、rewind()总结
		在对文件进行读写过程中,有时需要在文件中跳转.同不同位置读取,以及将数据写入到不同的位置.例如,使用文件模拟数据库保存数据,就需要移动文件指针.指针的位置是以从文件头开始的字节数度量的,默认以不同模式 ... 
- 客户端用javascript获取文件大小
		客户端用javascript获取文件大小 1 ie实现代码如下: <script type="text/javascript" language="javascri ... 
- python获取文件大小
		python获取文件大小 # !/usr/bin/python3.4 # -*- coding: utf-8 -*- import os # 字节bytes转化kb\m\g def formatSiz ... 
- C/C++多种方法获取文件大小(转)
		源码下载:点击下载 源码如下: #include <iostream> #include <io.h> #include <sys\stat.h> #include ... 
- js获取文件大小
		var file = urlBox.doc.activeElement.files[0]||urlBox.files[0] ; if (file) { var fileSize = 0; if (fi ... 
随机推荐
- JDBC batch批处理Statement executeBatch 具体解释
			JDBC提供了数据库batch处理的能力,在数据大批量操作(新增.删除等)的情况下能够大幅度提升系统的性能.我曾经接触的一个项目,在没有採用batch处理时,删除5万条数据大概要半个小时左右,后来对系 ... 
- Java基础知识强化73:正则表达式之分割功能
			1. 分割功能: 使用String的split方法,split方法:根据给定正则表达式的匹配拆分字符串.如下: public String[] split(String regex): 2. 案例: ... 
- hdu 2201
			题意: 一共有n个人,m表示第m个人,然后问你第i个人不做到m号位置的概率,最后相乘.... 水题(注意下格式输出) AC代码: #include <iostream> using nam ... 
- Asp.net 回车默认按钮
			<head> <script type="text/javascript"> function OnKey() { if (ev ... 
- solr和mongodb比较
			solr非常灵活,虽然mongodb添加索引查询速度比较快,但是solr查询比mongodb更加灵活,所以需要获取mongodb的oplog,实时将oplog中的数据推送到solr中 oplog A ... 
- Javascript 常用函数【1】
			1:基础知识 1 创建脚本块 1: <script language=”JavaScript”> 2: JavaScript code goes here 3: </script&g ... 
- WindowManager
			我们Android平台是一个又一个的Activity组成的,每一个Activity有一个或者多个View构成.所以说,当我们想显示一个界面的时候,我们首先想到的是建立一个Activity,然后所有的操 ... 
- 在Activity之间如何传递数据,请尽可能说出你所知道的传递数据的方法,并详细描述其实现过程。
			在Activity之间如何传递数据,请尽可能说出你所知道的传递数据的方法,并详细描述其实现过程. 答案:可以通过Intent对象.静态变量.剪切板和全局对象进行数据传递,具体的数据传递方法如下. 1. ... 
- JQUERY1.9学习笔记 之基本过滤器(六) 页眉选择器
			页眉选择器jQuery( ":header" ) 描述:选择页眉的所有标签,如 h1,h2, h3 等. <!DOCTYPE html><html lang=&q ... 
- 提高PHP性能的方法技巧
			1.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册 ... 
