怎样在读入文件前, 知道文件大小?

怎样在读入文件前, 知道文件大小?,第1张

如果文件大小指的是从 C 程序中可以读进的字符数量, 要得到这个精确的数字可能困难或不可能。Unix 系统函数 stat() 会给出准确的答案。有些系统提供了类似 Unix 的 stat()函数稿启族, 但只返回一个近似值。可以调用 fseek() 搜索到文件尾, 再调用 ftell(), 或者调用 fstat(), 然而这些方法都有同样的问题: fstat() 不可移植,键弊 通常返回和 stat()一样的值ftell() 并不保证可以返回字符计数, 除非是用于二进制文件, 但是, 严格来讲, 二进制旁哪文件并不一定支持 fseek 搜索到 SEEK END。某些系统提供 filesize()或 filelength() 的函数, 但是它们明显的不可移植。

是否确定必须预先知道文件大小,作为一个 C 程序最准确的方法就是打开文件并读入, 也许可以重新整理代码, 使其边读入边计算文件大小。

这个是文件长度的,至于网络的主机,在想想

FileLen函数

返回

返回一个

Long,代表一个文件的长度,单位是字节。

语法

FileLen(pathname)

必要的

pathname

参数是森猛宽用来指定一个文件名的字符串表达式。pathname

可以包含目录或文件夹、以及驱动器。

说明

当调用

FileLen

函数时,如果所指定的文件知拿已经打开,则返回的值是这个文件在打开前的大小。

注意

若要取得一个打开文件的长此亮度大小,使用

LOF

函数。

纯dos下恐怕不行,视窗下bat还马马虎数氏斗虎,当c:\1.txt大于3.999G失效。大约20秒检查一次。薯磨

@echo off&setlocal Enabledelayedexpansion

set R=c:\1.txt

:1

ping -n 20 127.0 >nul

for /f "tokens=1-3 delims= " %%a in ('dir "%R%"^|find /i "1 个文件"') do (

set Q=%%c

set /a Q=!Q:,=!

if !Q! lss 2048 start "" "核凯1.exe"

)

goto 1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12191742.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存