2 viktorprophet ViktorProphet 于 2016.01.18 00:39 提问

C++使用ifstream如何获取文件长度(具体数值)

rt,如何获取一个文件的实际长度(字节即可),但是我不是要打印在屏幕上,而是要存在 long long型的变量里面。网上给的streampos的方法虽然能得到长度但是,无法将长度转存到一个long long型里面(强转是木有用的),虽然streampos里面有个Fpos正好能指示长度然而不幸的是人家是私有的,无法读取。所以还请大神帮帮忙,要用ifstream,并且能够读取文件长度,多谢。

1个回答

caozhy
caozhy   Ds   Rxr 2016.01.18 06:15
ViktorProphet
ViktorProphet 我想知道转的具体方法
2 年多之前 回复
ViktorProphet
ViktorProphet 问题是怎么转,直接把streampos转成long long的话,这个值是0,并不是文件长度
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ifstream中取得文件长度
  ifstream   in("readme.txt");     ...     streampos   pos   =   in.tellg();     //   save   current   position     in.seekg(0,   ios::end);     cout     in.seekg(pos);     //   restore   saved   posi
linux C: lseek 获取文件长度
转载: http://baike.baidu.com/view/1080860.htm 简介 函数名: lseek 功 能: 移动文件读/写指针 头文件:#include #include 用 法: off_t lseek(int handle, off_t offset, int fromwhere); 所有打开的文件都有一个当前文件偏移量(current file off
fstream获得文件大小
fstream获得文件大小
C/C++获取文件大小(长度)的方法
C 如何得到文件的大小 先用fopen打开文件,然后把文件指针指向文件尾.    再用ftell获得文件指针当前位置(即文件长度). 源代码: #include "stdafx.h" #include #include using namespace std; int main() { FILE* fp    = NULL; int nFileLen
ifstream获取文件大小
    gFile.open(sTest.c_str(), ios_base::binary );    //获取文件大小    gFile.seekg(0, ios_base::end);        int nFileLen = gFile.tellg();
130 C语言获取文件大小(长度)
C学习网:链接->C学习网 C训练网:链接->C训练网 实际开发中,有时候需要先获取文件大小再进行下一步操作。C语言没有提供获取文件大小的函数,要想实现该功能,必须自己编写函数。 ftell()函数 ftell() 函数用来获取文件内部指针(位置指针)距离文件开头的字节数,它的原型为: long int ftell ( FILE * fp ); 注意:fp 要以二进制方式打开,
如何得到文件长度
http://www.cnblogs.com/life2refuel/p/5679285.html 引言   有一天看见看到返回文件长度代码返回值都是long,就感觉怪怪的, 一般32位long最大也就2G. 而大文件太多了, 一个Dota2安装包估计都得10多G吧. 一般C得到文件长度代码 /* * 得到文件长度, 一种通用老的写法 * path
获取文件的长度,读整个文件
关于读取一个文件,很简单可以用fread(void *,size_t,size_t,FILE *),或者read(int fd,void *,size_t count,)我的问题关键是如何获取文件的大小,原来有lseek(int fd, off_t, int)和ftell(FILE *).lseek()功能是移动读写位置,并且会返回移动过的字节数。移到文件头是lseek(fd,0,SEEK
C++ 读取文件内容至当前文件长度的字符串中
在C中,读取文件内容t通常时使用字符数组char[ ]保存。 例如: FILE *html; char tmpChar; char htmlText[2000000]; char *p; memset(htmlText,0,2000000); p=htmlText; html = fopen(path.c_str(),"r"); if(html){ while
C语言获取文件长度及全部内容
 C语言获取文件长度及全部内容 转自:http://blog.csdn.net/jiayanhui2877/article/details/8222882 FILE*fp; fp=fopen("localfile","rb");// localfile文件名 fseek(fp,0L,SEEK_END); /* 定位到文件末尾 */