fread最大读取文件大小(如何计算fread()读取的二进制文件大小)

本文目录
如何计算fread()读取的二进制文件大小
long int len;
fp=fopen("abc.dat","rb");
fseek(fp,0L,SEEK_END);
len=ftell(fp);
fclose(fp);
php怎么读取文档内容
PHP读取文档内容的几种方法
1.fread
string fread ( int $handle , int $length )fread() 从 handle 指向的文件中读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况。
fread() 返回所读取的字符串,如果出错返回 FALSE。
《?php
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");//读取二进制文件时,需要将第二个参数设置成’rb’
//通过filesize获得文件大小,将整个文件一下子读到一个字符串中
$contents = fread($handle, filesize ($filename));
fclose($handle);
?》如果所要读取的文件不是本地普通文件,而是远程文件或者流文件,就不能用这种方法,因为,filesize不能获得这些文件的大小。
此时,你需要通过feof()或者fread()的返回值判断是否已经读取到了文件的末尾。
例如:
《?php
***隐藏网址***
$content = ’’;
while(!feof($handle)){
$content .= fread($handle, 8080);
}
echo $content;
fclose($handle);
?》2.fgets
string fgets ( int $handle )fgets()从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
《?php
$handle = fopen(’./file.txt’, ’r’);
while(!feof($handle)){
echo fgets($handle, 1024);
}
fclose($handle);
?》注意:
length 参数从 PHP 4.2.0 起成为可选项,如果忽略,则行的长度被假定为 1024。从 PHP 4.3 开始,忽略掉 length 将继续从流中读取数据直到行结束。如果文件中的大多数行都大于 8KB,则在脚本中指定最大行的长度在利用资源上更为有效。从 PHP 4.3 开始本函数可以安全用于二进制文件。早期的版本则不行。
3.fgetss
string fgetss ( resource $handle )跟fgets功能一样,但是fgetss会尝试从读取的文本中去掉任何 HTML 和 PHP 标记,可以用可选的第三个参数指定哪些标记不被去掉。
《?php
$handle = fopen(’./file.txt’, ’r’);
while(!feof($handle)){
echo fgetss($handle, 1024, ’《br》’);
}
fclose($handle);
?》4.file
array file ( string $filename )将文件内容读入一个数组中,数组的每一项对应文件中的一行,包括换行符在内。不需要行结束符时可以使用 rtrim() 函数过滤换行符。
《?php
$a = file(’./file.txt’);
foreach($a as $line =》 $content){
echo ’line ’.($line + 1).’:’.$content;
}
?》推荐教程:PHP视频教程
fread读取范围问题
fread
功 能: 从一个流中读数据
函数原型: int fread(void *ptr, int size, int nitems, FILE *stream);
参 数:用于接收数据的地址(指针)(ptr)
单个元素的大小(size) :单位是字节而不是位,例如读取一个整型数就是2个字节
元素个数(nitems)
提供数据的文件指针(stream)
返回值:成功读取的元素个数
fread,每次读取一个定义好的元素大小,当读到最后,只剩下不足30个字节的数据,程序返回0,也就是说,fread如果不加附加条件的话,是必须读完整个文件的。
你的程序是要读取MP3文件中ID3V1信息,那么就应该把fread放到循环中大致结构为
while(!feof(fp))
{
fread(&info,30,1,fp);
if(info满足条件)
{
//进行处理,输出等
break;
}
}
当然,我不太清楚ID3V1的特征,不过既然你的程序已经写好了,估计也应该了解判断的条件了吧,因此这方面就不说了……
如何让cuda程序支持大文件的读写
写文件操作是在循环体中,kernel也在循环体中,即每次运行完kernel后将结果写到文件中,
可是32位操作系统下fopen、fread、fwrite默认最大的读写文件为2G,所以每次到2G后就写不进去了。
如何用C语言获取文件的大小
intfile_size(char*filename)
{
FILE*fp=fopen(filename,"r");
if(!fp)return-1;
fseek(fp,0L,SEEK_END);
intsize=ftell(fp);
fclose(fp);
returnsize;
}
扩展资料
C语言获取文件长度及全部内容
FILE*fp;
fp=fopen("localfile","rb");//localfile文件名
fseek(fp,0L,SEEK_END);/*定位到文件末尾*/
flen=ftell(fp);/*得到文件大小*/
p=(char*)malloc(flen+1);/*根据文件大小动态分配内存空间*/
if(p==NULL)
{
fclose(fp);
return0;
}
fseek(fp,0L,SEEK_SET);/*定位到文件开头*/
fread(p,flen,1,fp);/*一次性读取全部文件内容*/
p=0;/*字符串结束标志*/
R语言 -- fread() 函数快速读取大表格
平时读取一个表格文件通常使用 read.table 函数,但当遇到上百M或上G的文件时,就读的非常慢了。
有个函数 fread() ,来自 data.table 包,可以更快地读取表格文件,速度可以快 近十倍 。
比如现在有个基因组注释文件 Homo_sapiens.GRCh37.87.gtf ,大小为1.1G,分别使用 read.table() 和 fread() 读取所用的时间分别为:
时间分别为30s 和 4s !
而且对于很大的表格,fread()还会提供读取进度条,非常滴友好~

更多文章:
html网页模板(网页制作设计模板-旅游网页该如何设计模板)
2025年9月29日 04:45
this love歌词taylor(求Taylor Swift的Love Story的歌词的中文翻译~)
2025年6月19日 16:30
span标签有内容却不显示(定义一个CSS,但是只有DIV可以显示出来,span等都无法显示)
2026年7月29日 21:00
void sort是什么意思(请各位说说void sort里的算法是什么意思)
2025年6月20日 00:15
学电脑软件开发哪个学校好(电脑软件开发去什么学校学习比较好)
2026年8月16日 18:45
subject都有什么意思(“subject ”是什么意思)
2026年8月15日 06:00
莫奈的网络解释莫奈的网络解释是什么?莫奈的解释莫奈的解释是什么
2025年7月29日 02:00
网页模板停用不能上报怎么办(请教一下,关于网页模板显示不出来的问题~~)
2025年10月22日 22:45
dateadd函数的语法参数(在VB6.0中,DateAdd函数中,用“w“,“y“与“d“,我怎么感觉都一样呀,都是天)
2026年2月21日 15:30
springfestival用in oron(the Spring Festival前用in还是on)
2026年8月28日 02:45
acquaintance歌曲(新年快乐英文歌除了happy new year还有那些)
2026年4月19日 03:15
constantly continuously(constantly怎么读)
2025年8月8日 18:15









