用fseek和ftell获取文件的大小


#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc,char *argv[])
{
int n=0;
FILE *fp;
if((fp=fopen(argv[1],"r"))==NULL)
{
perror("fopen");
exit(EXIT_FAILURE);
}
if(fseek(fp,0,SEEK_END)!=0)
{
perror("fseek");
exit(EXIT_FAILURE);
}
if((n=ftell(fp))==-1)
{
perror("ftell");
exit(EXIT_FAILURE);
}
printf("the size counted by fseek/ftell of the file is %d \n",n);
printf("this is ls output:\n");
execl("/bin/ls","ls","-l",argv[1],(char *)0);
fclose(fp);
}

在Ubuntu中运行结果

用fseek和ftell获取文件的大小,布布扣,bubuko.com

时间: 2024-10-11 12:33:20

用fseek和ftell获取文件的大小的相关文章

Delphi获取文件的大小(实际&amp;物理)

源:获取文件的大小(实际&物理) class function TDuoFile.GetFileSize(const AFile: TFileName): Int64; var sr:TSearchRec; begin if FindFirst(AFile,faAnyFile and (not faDirectory),sr) = 0 then Result := sr.Size else Result := 0; FindClose(sr); // Windows.GetFileSizeEx(

linux下C获取文件的大小

获取文件大小这里有两种方法: 方法一. 范例: unsigned long get_file_size(const char *path) { unsigned long filesize = -1; FILE *fp; fp = fopen(path, "r"); if(fp == NULL) return filesize; fseek(fp, 0L, SEEK_END); filesize = ftell(fp); fclose(fp); return filesize; } 此

seek和tell的用法--获取文件内容大小(字节)

/*获取文件中存取的数据内容的大小(字节数) ellg() 和 tellp() 这两个成员函数不用传入参数,返回pos_type 类型的值(根据ANSI-C++ 标准) ,就是一个整数,代表当前get 流指针的位置 (用tellg) 或 put 流指针的位置(用tellp). seekg() 和seekp() 这对函数分别用来改变流指针get 和put的位置.两个函数都被重载为两种不同的原型: seekg ( pos_type position ); seekp ( pos_type posit

用C#实现获取文件夹大小的源代码

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FileList { public class Program { public static void Main(string[] args) { Console.WriteLine(); long length

Linux C++获取文件夹大小

项目中要计算指定文件夹的大小.百度查到这篇文章,https://my.oschina.net/Tsybius2014/blog/330628方法可行,运行正确. 拿到我们的项目中,却遇到一些问题:程序中一些读文件的代码,开始报异常,都不到文件.这些都是以前没有遇到过的问题.到底是什么情况呢?排查了好久,终于发现使用该文章提供的计算文件夹大小的函数(暂且叫做GetDirectorySize),其中有改变当前目录的代码: chdir(dir); 我们的项目是多线程的,一个线程调用GetDirecto

Powershell获取文件夹大小和排序【层级关系】【大小】【名称】

#***************************************************************************************** #使用示例: #示例:GetFoldersize.ps1 -FolderPath "D:\Exchange Server" -sort Layer -Class 3 -Size 0.5 #获取"D:\Exchange Server"目录下的3层以内的大于0.5GB的子文件夹,并按照子文件

php获取文件真实大小(支持远程文件)

代码: <?php /* @desc:获取文件大小 @author <lee> [<[email protected]>] @param name 文件名 @return size 文件大小 byte */ function getfilesize($name){ $content = file_get_contents($name); $size = strlen($content); return $size; } 测试: $ret = getfilesize('01.j

[Android Pro] 关于inputStream.available()方法获取文件的总大小

reference to :http://hold-on.iteye.com/blog/1017449 如果用inputStream对象的available()方法获取流中可读取的数据大小,通常我们调用这个函数是在下载文件或者对文件进行其他处理时获取文件的总大小. 以前在我们初学File和inputStream和outputStream时,有需要将文件从一个文件夹复制到另一个文件夹中,这时候我们用的就是inputStream.available()来获取文件的总大小,而且屡试不爽. 但是当我们要

python3获取文件及文件夹大小

获取文件大小 os.path.getsize(file_path):file_path为文件路径 >>> import os >>> os.path.getsize('d:/svn/bin/SciLexer.dll') 1479904 获取文件夹大小 遍历文件夹,将所有文件大小加和.遍历文件夹使用os.walk函数 import os from os.path import join, getsize def getdirsize(dir): size = 0 for