barriers / 阅读 / 详情

C语言_WIN32_SDK_OpenFile()&&ReadFile()

2023-06-20 23:37:25
TAG: ope
共2条回复
北境漫步

~千万别吐MSDN,那玩意儿用处大了......

第10行,if(hFile=(HANDLE)HFILE_ERROR)

要改成:if(hFile==(HANDLE)HFILE_ERROR)

=是赋值,==才是测试相等(低级错误呦~)

ReadFile()函数原型为:

BOOL ReadFile(HANDLE hFile,

LPVOID lpBuffer,

DWORD nNumberOfBytesToRead,

LPDWORD lpNumberOfBytesRead,

LPOVERLAPPED lpOverlapped);

hFile是文件句柄

lpBuffer是缓冲区(接收读取的数据)

nNumberOfBytesToRead是读取的字节数

lpNumberOfBytesRead用来接收实际读取的字节数

lpOverlapped定义异步操作,一般设为NULL

马老四

第一个是文件句柄

第二个是缓冲区

第三个是需要读/写的字节数

第四个用来接收实际读/写的字节数

第五个是异步读写用的,磁盘文件操作没必要用那个

返回值,失败0,成功1。

相关推荐

[求助]用WinAPI的Filesize查看文件大小

呵呵,原来是AX的WinAPI::FileSize有个小Bug.如果文件的字节数大于int 32位的最大值.那么系统将无法获取正确的字节数.系统也没任何异常抛出.如何解决呢? 其实你只要修改他的变量声明和返回值为int64就OK了.即(int - > int64)client static int64 fileSize(str _filename){ int64 size; System.IO.FileInfo fileInfo; ; fileInfo = new System.IO.FileInfo(_filename); size = fileInfo.get_Length(); return size;}
2023-06-20 23:09:391

expdp 的filesize参数大小具体这样设置呢

可以私聊我~
2023-06-20 23:09:532

刷bios.提示filesizeerror

刷bios.提示filesizeerror意思是文件大小不匹配。根据查询相关信息显示,英文bios不对,换正确的固件,用官网提供的在windows下刷BIOS的工具刷就可以了。BIOS是指基本输入输出系统,是只读存储器基本输入输出系统。这个系统通过ROM芯片被固化到计算机内主板上,用于保存计算机最重要的基本输入输出的程序、系统设置信息、开机上电自检程序和系统启动自举程序。
2023-06-20 23:10:141

fileSize = Math.Round( fileSize / 1024 / 1024,2); 这是怎么个计算方法?

四舍五入取得fileSize的上两层单位的值,精确到小数点百分位。比如fileSize是一个文件单位为byte的大小,用此可以转换为MB,并且保留两位小数
2023-06-20 23:10:211

C++读文件时,ftell显示从0开始读,但是读完后为什么ftell返回文件大小FILESIZE,而不是FILESIZE - 1呢?

因为当前指针已经移动到文件后面去了啊,并没有在最后一个字节停下来
2023-06-20 23:10:283

Warning: filesize(): stat failed for...什么原因

Warning: filesize(): stat failed for的原因是因为手机的服务器出现了错误;解决方式:关机重启,然后重新将手机下载一个服务器;服务器错误的话一般会导致系统软件运行中因为系统程序本身有错误而造成的功能不正常、死机、数据丢失、非正常中断等现象;因此支付宝能接收信息, 但发不出去信息。扩展资料:手机服务器错误会造成计算机安全隐患,此时叫做系统漏洞。系统程序错误是程序错误的一种,相对于应用程序错误,系统程序错误造成影响要大得很多,系统程序错误有时会使整个计算机系统崩溃或报废。在不同种类的软、硬件设备,同种设备的不同版本之间,由不同设备构成的不同系统之间,以及同种系统在不同的设置条件下,都会存在各自不同的安全漏洞问题。换而言之,在这些不同的软硬件设备中都可能存在不同的安全漏洞问题。在不同种类的软、硬件设备,同种设备的不同版本之间,由不同设备构成的不同系统之间,以及同种系统在不同的设置条件下,都会存在各自不同的安全漏洞问题。
2023-06-20 23:10:351

如何获取文件的大小?

一、通过 CFile 类的成员函数 GetLength 获取文件大小;二、通过 CFileFind 类的成员函数 GetLength 获取文件大小;下面详细说明这两种方法:一、CFile 类1、通过 Open 成员函数打开文件;2、通过 GetLength 成员函数获取文件大小;3、通过 Close 关闭文件。CFile f; CString str;f.Open("e: est1.wav",CFile::modeRead|CFile::shareDenyNone); str.Format("File size : %d",f.GetLength()); f.Close();MessageBox(str);二、CFileFind 类1、通过 FindFile 开始查找文件;2、通过 FindNextFile 获取文件信息;3、通过 GetLength 获取文件大小;4、通过 Close 关闭查找。CFileFind finder; CString str;finder.FindFile("e: est1.wav"); finder.FindNextFile(); str.Format("File size : %d",finder.GetLength()); finder.Close();MessageBox(str); 以上是 MFC 的方法,下面是 SDK 方法:一、通过 GetFileSize API 函数获取文件大小;HANDLE hFile; DWORD dwFileSize = 0; char szData[30];hFile = CreateFile("e: est1.wav",GENERIC_READ,FILE_SHARE_READ,NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);dwFileSize = GetFileSize(hFile,NULL);CloseHandle(hFile);sprintf(szData,"File Size : %d",dwFileSize);MessageBox(NULL,szData,"FileSize",MB_ICONINFORMATION); 二、通过 FindFirstFile 和 WIN32_FIND_DATA 方法获取文件大小;LPWIN32_FIND_DATA lpFindFileData; HANDLE hFindFile; char szData[30];lpFindFileData = new WIN32_FIND_DATA;hFindFile = FindFirstFile("e: est1.wav",lpFindFileData); FindNextFile(hFindFile,lpFindFileData); MessageBox(NULL,szData,"FileSize",MB_ICONINFORMATION);delete lpFindFileData;说明:以上代码都没有检查函数返回值,读者在实际编写程序时应该检查文件打开是否成功。另外,CFile 类在实现时,是从文件头移动到文件尾,而不是用 GetFileSize API 函数实现的,有兴趣的朋友可以看看MFC源代码。体验新版博客
2023-06-20 23:10:481

delphi中filesize问题

F:file;这里应该这样声明F:TextFile;
2023-06-20 23:10:552

PHP获取指定路径文件大小

$filesize=abs(filesize($filename));if($filesize<5120){ //小于5K //执行代码}else{ //大于5K //执行代码}函数filesize()返回的是以字节为单位的文件大小。参数是文件名
2023-06-20 23:11:151

vb如何利用GetFileSize来获得文件大小?

用这个API还要打开文件,获得其句柄,然后…………可以用VB自带的FileLen(filename)试试以下代码吧,调用GetInfoF就OK了Private Const OF_READ = &H0&Private Declare Function lOpen Lib "kernel32" Alias "_lopen" (ByVal lpPathName As String, ByVal iReadWrite As Long) As LongPrivate Declare Function lclose Lib "kernel32" Alias "_lclose" (ByVal hFile As Long) As LongPrivate Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As LongDim lpFSHigh As LongPublic Sub GetInfoF(FilePath As String) Dim Pointer As Long, sizeofthefile As Long Pointer = lOpen(FilePath, OF_READ) sizeofthefile = GetFileSize(Pointer, lpFSHigh) msgbox sizeofthefile & "个字节" lclose PointerEnd Sub "-------------------EDIT #1:Long嘛,句柄的值大多是这种的……追加分啊
2023-06-20 23:11:352

file.size/1024/1024/2

四舍五入取得fileSize的上两层单位的值,精确到小数点百分位. 比如fileSize是一个文件单位为byte的大小,用此可以转换为MB,并且保留两位小数
2023-06-20 23:11:501

javascript生成的image对象fileSize总是返回-1是怎么回事

* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示! fileSize属性的前提是先加载到浏览器页面上,而不是浏览器缓存中!!!例子:<SCRIPT>var imgs=new Image()imgs.src="http://bbs.nou.c*.cn/attachments/month_0703/t+e+sCAoMTUp_Mi3goORIxEx8.jpg";setTimeout("img1.src=imgs.src;",100);</SCRIPT><BODY ONCLICK=alert(imgs.fileSize + "字节")><img id=img1 width=300 height=250></BODY>
2023-06-20 23:12:041

ASP中file.filesize>2000000是限制到多少K呀?

20M
2023-06-20 23:12:133

这是什么意思?

<img filesize="49601" src="/cgi-bin/viewfile?f=。。。&sid=m-DTJ1B1w7pMQFcH">首先<img>是图片的标签,你看到这一句就应该知道,该语句是在插入一个图片src="/cgi-bin/viewfile?f=。。。&sid=m-DTJ1B1w7pMQFcH"src属性存放的是该图片的路径filesize属性设置了该图片的大小关于<img>的其他属性,可以百度一下就好望采纳,谢谢
2023-06-20 23:12:211

aix 修改filesize如何生效

必须重新启动AIX
2023-06-20 23:12:282

Filesize dose not match什么意思?

文件尺寸大小不匹配
2023-06-20 23:12:364

Filesize dose not match Or Filesize cannot be determined什么意思

文件大小不匹配或文件大小不确定
2023-06-20 23:12:531

Delphi中,如何获得文件大小?

大概有这些方法可以获得文件大小 FileSizeByName(需要引用IdGlobal单元) GetFileSize FileSize(不能获得正在使用的文件大小) FileSeek TFileStream.Size 下面是使用例子 1。FileSizeByName(需要引用IdGlobal单元) begin if OpenDialog1.Execute then begin ShowMessage(IntToStr(FileSizeByName(OpenDialog1.Filename))); end; 2。GetFileSize var FileHandle:integer; begin if OpenDialog1.Execute then begin FileHandle := FileOpen(OpenDialog1.FileName, 0); ShowMessage(IntToStr(GetFileSize(FileHandle, nil))); FileClose(FileHandle); end; 3。FileSize(不能获得正在使用的文件大小) var f: file; begin if OpenDialog1.Execute then begin AssignFile(f, OpenDialog1.FileName); Reset(f, 1); ShowMessage(IntToStr(FileSize(f))); CloseFile(f); end; 4。FileSeek var FileHandle:integer; begin if OpenDialog1.Execute then begin FileHandle := FileOpen(OpenDialog1.FileName, 0); ShowMessage(IntToStr(FileSeek(FileHandle,0,2))); FileClose(FileHandle); end; 5。TFileStream.Size var FS: TFileStream; begin if OpenDialog1.Execute then begin FS := TFileStream.Create(OpenDialog1.FileName, fmShareDenyNone); ShowMessage(IntToStr(FS.Size)); FS.Free; end;另在IdGlobalProtocols中有个FileSizeByName()的函数。
2023-06-20 23:13:221

急求ASP源码:上传文件大小限定,图片尺寸自动调整

分类: 电脑/网络 >> 程序设计 >> 其他编程语言 问题描述: 网上搜的多而且杂,越看越迷糊.......... 最好把每页的代码都写一下,大致两三个页就可以解决了,谢谢达人帮助!!!!!! 解析: 三个页:选择页,上传页sub,调用的代码页upload.inc, 我自己就在用这个,LZ给分吧1浏览上传: <form action="sub" method="post" enctype="multipart/form-data" target="_self"> <input type=file name=src size="20" value="浏览"> <input type=submit value="上传" name=B1 IsShowProcessBar="True"> </form> sub 执行上传并返回地址,同时保存文件名在session(ccc)中 <!--#include FILE="upload.inc"--> <% dim upload,file,formName,formPath,iCount,fileformat set upload=new upload_F function MakedownName() dim fname fname = now() fname = replace(fname,"-","") fname = replace(fname," ","") fname = replace(fname,":","") fname = replace(fname,"PM","") fname = replace(fname,"AM","") fname = replace(fname,"上午","") fname = replace(fname,"下午","") fname = int(fname) + int((10-1+1)*Rnd + 1) MakedownName=fname end function formPath="upload/" iCount=0 for each formName in upload.file ""列出所有上传了的文件 set file=upload.file(formName) ""生成一个文件对象 fileformat=lcase(right(file.filename,4)) if fileformat="" or fileformat="" then response.write"<script>alert("文件格式不对,请重新上传!");location=""&request.ServerVariables("HTTP_REFERER")&""</script>" response.end end if if file.FileSize>0 then ""如果 FileSize > 0 说明有文件数据 newname=MakedownName()&"."&mid(file.FileName,InStrRev(file.FileName, ".")+1) session("ccc")=newname file.SaveAs Server.mappath(formPath&newname) ""保存文件 iCount=iCount+1 else response.write "<font style=FONT-SIZE:9pt>未找到文件 <A HREF=javascript:history.back(1)>重新上传</A><font style=FONT-SIZE:9pt>" response.end end if next %> <% response.write "<a href="upload/"&newname&"" target=_blank>upload/"&newname&" </a>("&cint(file.FileSize/1024)&"K) 上传成功!" %> <% set file=nothing set upload=nothing ""删除此对象 %> upload.inc 页的代码如下: <SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT> dim upfile_Stream Class upload_F dim Form,File,Version Private Sub Class_Initialize dim iStart,iFileNameStart,iFileNameEnd,iEnd,vbEnter,iFormStart,iFormEnd,theFile dim strDiv,mFormName,mFormValue,mFileName,mFileSize,mFilePath,iDivLen,mStr Version="upload Version 1.0" if Request.TotalBytes<1 then Exit Sub set Form=CreateObject("Scripting.Dictionary") set File=CreateObject("Scripting.Dictionary") set upfile_Stream=CreateObject("Adodb.Stream") upfile_Stream.mode=3 upfile_Stream.type=1 upfile_Stream.open upfile_Stream.write Request.BinaryRead(Request.TotalBytes) vbEnter=Chr(13)&Chr(10) iDivLen=inString(1,vbEnter)+1 strDiv=subString(1,iDivLen) iFormStart=iDivLen iFormEnd=inString(iformStart,strDiv)-1 while iFormStart < iFormEnd iStart=inString(iFormStart,"name=""") iEnd=inString(iStart+6,"""") mFormName=subString(iStart+6,iEnd-iStart-6) iFileNameStart=inString(iEnd+1,"filename=""") if iFileNameStart>0 and iFileNameStart<iFormEnd then iFileNameEnd=inString(iFileNameStart+10,"""") mFileName=subString(iFileNameStart+10,iFileNameEnd-iFileNameStart-10) iStart=inString(iFileNameEnd+1,vbEnter&vbEnter) iEnd=inString(iStart+4,vbEnter&strDiv) if iEnd>iStart then mFileSize=iEnd-iStart-4 else mFileSize=0 end if set theFile=new FileInfo theFile.FileName=getFileName(mFileName) theFile.FilePath=getFilePath(mFileName) theFile.FileSize=mFileSize theFile.FileStart=iStart+4 theFile.FormName=FormName file.add mFormName,theFile else iStart=inString(iEnd+1,vbEnter&vbEnter) iEnd=inString(iStart+4,vbEnter&strDiv) if iEnd>iStart then mFormValue=subString(iStart+4,iEnd-iStart-4) else mFormValue="" end if form.Add mFormName,mFormValue end if iFormStart=iformEnd+iDivLen iFormEnd=inString(iformStart,strDiv)-1 wend End Sub Private Function subString(theStart,theLen) dim i,c,stemp upfile_Stream.Position=theStart-1 stemp="" for i=1 to theLen if upfile_Stream.EOS then Exit for c=ascB(upfile_Stream.Read(1)) If c > 127 Then if upfile_Stream.EOS then Exit for stemp=stemp&Chr(AscW(ChrB(AscB(upfile_Stream.Read(1)))&ChrB(c))) i=i+1 else stemp=stemp&Chr(c) End If Next subString=stemp End function Private Function inString(theStart,varStr) dim i,j,bt,theLen,str InString=0 Str=toByte(varStr) theLen=LenB(Str) for i=theStart to upfile_Stream.Size-theLen if i>upfile_Stream.size then exit Function upfile_Stream.Position=i-1 if AscB(upfile_Stream.Read(1))=AscB(midB(Str,1)) then InString=i for j=2 to theLen if upfile_Stream.EOS then inString=0 Exit for end if if AscB(upfile_Stream.Read(1))<>AscB(MidB(Str,j,1)) then InString=0 Exit For end if next if InString<>0 then Exit Function end if next End Function Private Sub Class_Terminate form.RemoveAll file.RemoveAll set form=nothing set file=nothing upfile_Stream.close set upfile_Stream=nothing End Sub Private function GetFilePath(FullPath) If FullPath <> "" Then GetFilePath = left(FullPath,InStrRev(FullPath, "")) Else GetFilePath = "" End If End function Private function GetFileName(FullPath) If FullPath <> "" Then GetFileName = mid(FullPath,InStrRev(FullPath, "")+1) Else GetFileName = "" End If End function Private function toByte(Str) dim i,iCode,c,iLow,iHigh toByte="" For i=1 To Len(Str) c=mid(Str,i,1) iCode =Asc(c) If iCode<0 Then iCode = iCode + 65535 If iCode>255 Then iLow = Left(Hex(Asc(c)),2) iHigh =Right(Hex(Asc(c)),2) toByte = toByte & chrB("&H"&iLow) & chrB("&H"&iHigh) Else toByte = toByte & chrB(AscB(c)) End If Next End function End Class Class FileInfo dim FormName,FileName,FilePath,FileSize,FileStart Private Sub Class_Initialize FileName = "" FilePath = "" FileSize = 0 FileStart= 0 FormName = "" End Sub Public function SaveAs(FullPath) dim dr,ErrorChar,i SaveAs=1 if trim(fullpath)="" or FileSize=0 or FileStart=0 or FileName="" then exit function if FileStart=0 or right(fullpath,1)="/" then exit function set dr=CreateObject("Adodb.Stream") dr.Mode=3 dr.Type=1 dr.Open upfile_Stream.position=FileStart-1 upfile_Stream.copyto dr,FileSize dr.SaveToFile FullPath,2 dr.Close set dr=nothing SaveAs=0 end function End Class </SCRIPT>
2023-06-20 23:13:301

php filesize 函数的问题

不会吧, 是找不到这个文件吧
2023-06-20 23:13:383

怎么样得到文件的大小?(DELPHI)

右键点击文件,在出来的菜单点“属性”,文件大小就出来了
2023-06-20 23:13:512

Php程序MyAdmin导入数据库超限制怎么办

可以压缩导入啊。或者可以在php设置导入大小。网页链接
2023-06-20 23:14:042

c语言求文件长度,ftell得到文件长度为-1

虽然else子句看起来少了一个大括号,但不是关键问题给出完整代码吧,包括你是如何检查fileSize变量的
2023-06-20 23:14:142

php判断文件大小

filesize("文件路径");//取得文件的大小
2023-06-20 23:14:282

js验证input文件格式

document.getElementById("file的ID").cilck();
2023-06-20 23:14:505

js 判断文件格式

2023-06-20 23:15:064

python 实时检测文件夹的大小,如果超过设定值,自动清空文件夹,如何

实时检测我觉得可能没必要了,周期性检测倒是不错,比如每隔30秒检查一次,除非你一秒钟就几十上百兆数据写入,那就得实时检测了。实时监测的话,在while循环里不停的查看文件夹的变化首写关于文件夹的大小,据我所知道的python标准库并没有提供关于文件夹大小的api或套件,你需要一个一个文件的去遍历获取文件的大小累加求和,获取文件大小可以使用os.stat(文件路径)。不过最好的方式,我觉得是通过调用系统命令获取文件夹的大小,这样就不用写递归方法,获取你要清空目录下的文件目录结构,当然目录结构简单的话,递归方法都不用写。不知道你的操作系统是什么,linux的话可以用du -sh /data/applog/在python2.7中可以使用commands.getoutput执行上面的命令并获取到输出结果第二就是关于清空文件夹的,你必须保证没有程序对你要清空的目录进行访问,你才能正常的清空,否则,对于在使用中的文件你会清空失败。清空文件夹你可以使用shutil库里的rmtree()方法,它不管你文件夹是否有文件或子文件夹,使用它就是一行代码的事情,如果使用os模块进行删除的话你要从最底层文件夹开始删除。最后你再重新新建这文件夹上面只是思路,具体使用还得根据你的实际需要来的如果你要进行周期性检测的话,可以使用标准库中的sched库来开发
2023-06-20 23:15:261

filesize exepected

不能初始化设施File 大小expected=1184912185,大小returned=46884980 保证对
2023-06-20 23:15:331

js获取Image对象的fileSize为什么是undefined

可能很多朋友认为undefined是在js中未定义变量时才会提示的错误,其实不然undefined 是js中的一特殊的变量,我们也可以提前定义哦,下面我来介绍js undefined 用法。JavaScript 中有两个特殊数据类型:undefined和 null,下面谈谈 undefined 的判断。js判断undefined类型代码如下复制代码if (reValue== undefined){alert(undefined);}发现判断不出来,最后查了下资料要用typeof方法:代码如下复制代码if (typeof(reValue) == undefined) {alert(undefined);}typeof 返回的是字符串,有六种可能:number、string、boolean、object、function、undefined以下是不正确的用法:代码如下复制代码var exp = undefined;
2023-06-20 23:15:401

这个初级读取文件的C++代码为什么出现这种情况?(基本的ifstream),判断文件是否被打开..

原因是成功或失败都是闪而过,你看不到要的结果。最好的在Windows自带的DOS窗口中执行,你会看到你要的结果。或者跟楼上说的一下,下一个指令让窗口暂停。system("PAUSE");
2023-06-20 23:15:483

wrong filesize是什么意思

wrong = 错误file= 文件 size = 号码或者大小wrong filesize 应该是多少错误的文件
2023-06-20 23:15:552

如何获取SQL2005某个数据库文件的大小的C#代码

首先建好数据库。假设下面的数据库已建好,数据表名为fileinfoid filename filesize extension createtime分别代码,编号 文件名 文件大小 扩展名 文件创建时间1,创建数据表第二步。在对应的文件夹下复制好文件。假设当前目录为image,该目录下有下列文件。第三步,信息入库,本人这里以C#为例。public static InsertFilesInfo(string path) //创建方法。这里采用参数传递,方便对不同目录下的文件进行遍历入库{string filename=""; ///定义变量,用于存放文件名string filesize=""; ///定义变量,用于存放文件大小string extension="";/// 定义变量,用于存放文件扩展名string createtime=""; ///定义变量,用于存放文件创建时间System.IO.DirectoryInfo dir= new System.IO.DirectoryInfo(System.Web.HttpContext.Current.Server.MapPath(path));///先获取相应的目录。并实例化目录对象。方便获取该 目录下的文件。System.IO.FileInfo[] fInfo = dir.GetFiles();///创建文件信息集合,将path参数指定的目录下的文件全部获取到,存入fInfo这个文件信息数组。foreach (System.IO.FileInfo f in fInfo) ///开始遍历数组。将所有的文件遍历出来。{filename = f.Name.ToString();filesize=f.Length.ToString();extension=f.Extension.ToString();createtime=fCreationTime.ToString()///上述操作已经获取到文件相关信息。下一步入库。入库,假设数据连接对象已创建好,具体的数据连接代码,这里不再提供了。string sql="insert fileinfo (filename,filesize,extension,createtime) values ("" + filename + "",""+ filesize+"",""+ extension+"",""+ createtime+""")";cmd.CommandType="Text";cmd.CommandText=sql;cmd.ExecuteNoQuery();///文件信息已经入库了。这是循环入库,有多少个文件,数据库表中就会有多少条信息。}}另外可以使用php。原理都是一样的。都是先遍历目录下所有的文件,再将文件信息存储。再遍历。再入库。
2023-06-20 23:16:091

这个很简单嘛~~文件里的N个图片想读哪个读哪个,具体实现看下面说明你提到过有个文件头,这个设计是对的,文件头中让他包含上这个文件里面的图片数目(使用int型的就可以),其他的你还需要什么信息也放在头里。文件尾我觉得不需要你根据你的情况。文件主体中就按照你定义的privateintx;privateinty;privateintdiv;privateintfiletype;privatelongfilesize;privatebyte[]fileio;这几个数据依次写入文件,把你要保存的图片都循环着写入。最后的格式应该是读取的时候:这里文件头只有一个int的数据,所以打开文件后直接读取sizeof(int)位的数据保存在一个int型变量中,这样文件头就读出来了。现在再往下读就是文件体了。继续读取3个sizeof(int)就是y,divfiletype分别被读出来了,下一个sizeof(long)filesize就读出文件长度,然后根据这个filesize去把文件内容读出就可以了,然后继续循环其他的文件。你想定位到某一个图片的坐标,比如读第3个,那就把前面两个数据占的数据位全都跳过去直接定位到第三个文件的开始处(sizeof(int)*4+sizeof(long))*2+文件1的filesize+文件2的filesize别忘了文件头的那个sizeof(int),这样就定位到了文件3的开始处就是x所在的位置,然后读出你想要的数据来行了。
2023-06-20 23:16:151

PHP获取文件夹大小函数用法实例

本文实例讲述了PHP获取文件夹大小函数用法。分享给大家供大家参考。具体如下:<?php//获取文件夹大小functiongetDirSize($dir){$handle=opendir($dir);while(false!==($FolderOrFile=readdir($handle))){if($FolderOrFile!="."&&$FolderOrFile!=".."){if(is_dir("$dir/$FolderOrFile")){$sizeResult+=getDirSize("$dir/$FolderOrFile");}else{$sizeResult+=filesize("$dir/$FolderOrFile");}}}closedir($handle);return$sizeResult;}//单位自动转换函数functiongetRealSize($size){$kb=1024;//Kilobyte$mb=1024*$kb;//Megabyte$gb=1024*$mb;//Gigabyte$tb=1024*$gb;//Terabyteif($size<$kb){return$size."B";}elseif($size<$mb){returnround($size/$kb,2)."KB";}elseif($size<$gb){returnround($size/$mb,2)."MB";}elseif($size<$tb){returnround($size/$gb,2)."GB";}else{returnround($size/$tb,2)."TB";}}echogetRealSize(getDirSize("需要获取大小的目录"));?>希望本文所述对大家的php程序设计有所帮助。
2023-06-20 23:16:221

如何取得正在写的文件大小

一、通过 CFile 类的成员函数 GetLength 获取文件大小;二、通过 CFileFind 类的成员函数 GetLength 获取文件大小;下面详细说明这两种方法:一、CFile 类1、通过 Open 成员函数打开文件;2、通过 GetLength 成员函数获取文件大小;3、通过 Close 关闭文件。CFile f;CString str;f.Open("e: est1.wav",CFile::modeRead|CFile::shareDenyNone);str.Format("File size : %d",f.GetLength());f.Close();MessageBox(str);二、CFileFind 类1、通过 FindFile 开始查找文件;2、通过 FindNextFile 获取文件信息;3、通过 GetLength 获取文件大小;4、通过 Close 关闭查找。CFileFind finder;CString str;finder.FindFile("e: est1.wav");finder.FindNextFile();str.Format("File size : %d",finder.GetLength());finder.Close();MessageBox(str); 以上是 MFC 的方法,下面是 SDK 方法:一、通过 GetFileSize API 函数获取文件大小;HANDLE hFile;DWORD dwFileSize = 0;char szData[30];hFile = CreateFile("e: est1.wav",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);dwFileSize = GetFileSize(hFile,NULL);CloseHandle(hFile);sprintf(szData,"File Size : %d",dwFileSize);MessageBox(NULL,szData,"FileSize",MB_ICONINFORMATION); 二、通过 FindFirstFile 和 WIN32_FIND_DATA 方法获取文件大小;LPWIN32_FIND_DATA lpFindFileData;HANDLE hFindFile;char szData[30];lpFindFileData = new WIN32_FIND_DATA;hFindFile = FindFirstFile("e: est1.wav",lpFindFileData);FindNextFile(hFindFile,lpFindFileData);MessageBox(NULL,szData,"FileSize",MB_ICONINFORMATION);delete lpFindFileData;说明:以上代码都没有检查函数返回值,读者在实际编写程序时应该检查文件打开是否成功。另外,CFile 类在实现时,是从文件头移动到文件尾,而不是用 GetFileSize API 函数实现的,有兴趣的朋友可以看看MFC源代码。体验新版博客
2023-06-20 23:16:401

Java 判断文件大小

返回的是字节长度,1M=1024k=1048576字节 也就是if(fileSize<5*1048576)就好了
2023-06-20 23:16:482

SmartUpload setMaxFileSize方法

是Byte如果你限制30MB的话就要这么写:1024*1024*1024*30
2023-06-20 23:16:562

300兆的sql文件如何导入mysql数据库中

抄一段给你看看,应该有些帮助。一般网站经常用phpmyadmin备份和恢复数据库,但默认总是限制了16M。网站数据一多就不行了。解决方法如下:(1)修改php.ini适用自己有服务器的人大多数都修改php.ini中的upload_max_filesize,但修改了这个以后,还是提示这个问题;那么更改如下几处:修改 PHP.inifile_uploads on 是否允许通过HTTP上传文件的开关。默认为ON即是开upload_tmp_dir  文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹upload_max_filesize 20m   望文生意,即允许上传文件大小的最大值。默认为2Mpost_max_size 30m     指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M说明一般地,设置好上述四个参数后,在网络正常的情况下,上传<=8M的文件是不成问题但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得继续设置下面的参数。max_execution_time 300 每个PHP页面运行的最大时间值(秒),默认30秒max_input_time 300 每个PHP页面接收数据所需的最大时间,默认60秒memory_limit 128m 每个PHP页面所吃掉的最大内存,默认8M设定 POST 数据所允许的最大大小。此设定也影响到文件上传。要上传大文件,该值必须大于 upload_max_filesize。如果配置脚本中激活了内存限制,memory_limit 也会影响文件上传。通常说,memory_limit 应该比 post_max_size 要大。(2)这个方法很简单,不需要修改php.ini参数, 适用把站放在虚拟主机的人。打开phpMyAdmin目录下的配置文件:config.inc.php请注意其中的这两个参数: $cfg["UploadDir"] = ‘A‘; $cfg["SaveDir"] = ‘B‘;在phpMyAdmin目录下自行建立文件夹A和B来对应UploadDir(导入目录)和SaveDir(导出目录)。导出操作: 1、登陆phpMyAdmin 2、在左侧选中你需要备份导出的数据库 3、在右侧窗口中找到“导出” 4、在右侧窗口底部选择“保存于服务器的 B/ 目录” 5、选择压缩模式,提交“执行”即可在B文件夹中找到该数据库的导出数据。导入操作: 1、上传准备导入的数据文件到A目录 2、登陆phpMyAdmin 3、在左侧选中你需要备份导出的数据库 4、在右侧窗口中找到“Import”(导出) 5、在右侧窗口“网站服务器上载目录”中选择需要导入的数据文件,提交“执行”完成导入。
2023-06-20 23:17:051

error LNK2019: 无法解析的外部符号 _GetMappedFileNameA@16,该符号在函数

解决了你倒是把解决方法贴出来啊,不然其他人还是不知道啊...其实就是在 #include <psapi.h> 前加上 #define PSAPI_VERSION 2 即可
2023-06-20 23:17:121

phpmyadmin数据库导入文件大小限制怎么改?

解决方法如下:(1)修改php.ini适用自己有服务器的人大多数都修改php.ini中的upload_max_filesize,但修改了这个以后,还是提示这个问题;那么更改如下几处:修改 PHP.inifile_uploads on 是否允许通过HTTP上传文件的开关。默认为ON即是开upload_tmp_dir  文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹upload_max_filesize 20m 望文生意,即允许上传文件大小的最大值。默认为2Mpost_max_size 30m 指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M说明 一般地,设置好上述四个参数后,在网络正常的情况下,上传<=8M的文件是不成问题但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得继续设置下面的参数。max_execution_time 300 每个PHP页面运行的最大时间值(秒),默认30秒max_input_time 300 每个PHP页面接收数据所需的最大时间,默认60秒memory_limit 128m 每个PHP页面所吃掉的最大内存,默认8M设定 POST 数据所允许的最大大小。此设定也影响到文件上传。要上传大文件,该值必须大于 upload_max_filesize。如果配置脚本中激活了内存限制,memory_limit也会影响文件上传。通常说,memory_limit应该比 post_max_size要大。(2)这个方法很简单,不需要修改php.ini参数,适用把站放在虚拟主机的人。打开phpMyAdmin目录下的配置文件:config.inc.php请注意其中的这两个参数:$cfg["UploadDir"] = ‘A‘;$cfg["SaveDir"] = ‘B‘;在phpMyAdmin目录下自行建立文件夹A和B来对应UploadDir(导入目录)和SaveDir(导出目录)。导出操作:1、登陆phpMyAdmin2、在左侧选中你需要备份导出的数据库3、在右侧窗口中找到“导出”4、在右侧窗口底部选择“保存于服务器的 B/目录”5、选择压缩模式,提交“执行”即可在B文件夹中找到该数据库的导出数据。导入操作:1、上传准备导入的数据文件到A目录2、登陆phpMyAdmin3、在左侧选中你需要备份导出的数据库4、在右侧窗口中找到“Import”(导出)5、在右侧窗口“网站服务器上载目录”中选择需要导入的数据文件,提交“执行”完成导入
2023-06-20 23:17:212

Fortran如何获取文件大小

语法中没有这样的函数。但如果你使用的是 Visual Fortran 序列的编译器,可以用其扩展的语法实现。恰好我写过一个函数来完成。Integer Function WGetFileSize( cFile ) Use IFPort , only : GetFileInfoQQ , GetLastErrorQQ , FILE$INFO , FILE$LAST , FILE$ERROR , FILE$FIRST , ERR$NOMEM , ERR$NOENT , FILE$DIR Character( Len = * ) , Intent( IN ) :: cFile Type (FILE$INFO) :: stInfo Integer(4) :: iWildhandle , iLength , iRet iWildhandle = FILE$FIRST iLength = GetFileInfoQQ( cFile , stInfo , iWildhandle ) WGetFileSize = stInfo.LENGTH End Function WGetFileSize调用时,直接:n = WGetFileSize( "文件名.txt" )就可以了。如果你的编译器不是 Visual Fortran,那么你需要翻阅相关的帮助文档了。如果你的编译器是 Compaq Visual Fortran,你需要把 Use IFPort , only : 改为 Use DFLib , only :
2023-06-20 23:17:281

C语言用GetFileSize获得文件大小后怎么在图形界面显示出来

windows编程的话,可以用windows的api,如 泠月冰辰 所说。否则,要看具体平台,提供的类似功能的接口了。
2023-06-20 23:17:371

ASP中,为了上传图片,在form表单中用了enctype=multipart/form-data。如何将保存在数据库的图片显示出来

不明白?
2023-06-20 23:17:512

Image.FromStream 参数无效

//将上传的文件转换到二进制编码 //"******************************************* int filelength; HttpPostedFile upfile; upfile = lofile.PostedFile; filelength = upfile.ContentLength; //记录文件长度 byte[] FileByteArray = new Byte[filelength]; //图象文件临时储存Byte数组 Stream StreamObject = upfile.InputStream; //建立数据流对像 StreamObject.Read(FileByteArray, 0, filelength); filesize = upfile.ContentLength; filelx = upfile.ContentType.ToString(); //*******************************************//读取文件filename = myset2.Tables["temps"].Rows[0]["SysS_FileName"].ToString(); filesize = int.Parse(myset2.Tables["temps"].Rows[0]["SysS_FileSize"].ToString()); filetype = myset2.Tables["temps"].Rows[0]["SysS_FileType"].ToString(); //Dim fileimge(filesize) As Byte //fileimge = myset2.Tables("temps").Rows(0).Item("SysS_FileImage") byte[] fileimge = new Byte[filesize]; fileimge = (byte[])myset2.Tables["temps"].Rows[0]["SysS_FileImage"]; Response.ContentType = filetype; //设定输出文件类型 Response.Charset = "GB2312"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.AddHeader("Content-Disposition", "inline; filename=" + HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(filename)));//输出方式,在浏览器打开. //Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(filename)));//以文件方式打开 Response.BinaryWrite(fileimge); // Response.OutputStream.Write(fileimge, 0, filesize) myset2.Dispose();
2023-06-20 23:17:581

求上传图片自动生成连续数字文件名的方法,如001、002类。

只能在未上传前命名好
2023-06-20 23:18:172

pcm原理是什么及应

pcm原理及应用PCM(Pulse-CodeModulation)isamethodofdigitalsignalencodingthatinvolvessamplingananalogsignal,quantizingthesamples,andconvertingthemintoadigitalformat.Thequantizationprocessassignsaspecificdigitalvaluetoeachpossibleamplitudelevelofthesampledsignal.PCMiswidelyusedinaudioandvoiceencoding,digitaltelephony,andotherapplicationswhereanalogsignalsneedtobeconvertedintodigitalform.InPCM,theanalogsignalissampledatregularintervalsandtheamplitudeofeachsampleisquantizedtothenearestvalueinasetofdiscretesteps.Theresultingdigitalvaluesarethentransmittedorstoredasastreamofbinaryvalues.Thisprocessisreversible,allowingtheoriginalanalogsignaltobereconstructedfromthedigitalrepresentation.ThequalityofthePCMencodingprocessdependsonseveralfactors,includingthesamplingrate,thenumberofbitsusedtorepresenteachsample,andthetypeofquantizationused.Ahighersamplingrateandalargernumberofbitspersamplecanresultinamoreaccuraterepresentationoftheoriginalsignal,butalsoresultsinalargerfilesize.Insummary,PCMisawidelyusedmethodfordigitalrepresentationofanalogsignalsthatprovidesaconvenientandreliablewaytostoreandtransmitinformationinadigitalformat.
2023-06-20 23:18:231

急!Ext java javascript 上传文件 限制大小 用ext 或者javascript控制?

javascript:<HTML> <HEAD> <title>******上传文件大小的限制和判断***********</title> <script language="javascript" type="text/javascript"> function getFileSize(filename){ // var filename = document.all("fileup").value; //获得上传文件的物理路径 if(filename ==""){ alert("你还没有浏览要上传的文件"); return false; } try { var fso,f,fname,fsize; var flength=40000; //设置上传的文件最大值(单位:kb),超过此值则不上传。 fso=new ActiveXObject("Scripting.FileSystemObject"); f=fso.GetFile(filename);//文件的物理路径 fname=fso.GetFileName(filename);//文件名(包括扩展名) fsize=f.Size; //文件大小(bit) fsize=fsize/1024; //去掉注释,可以测试 //alert("文件路径:"+f); //alert("文件名:"+fname); //alert("文件大小:"+fsize+"kb"); if(fsize>flength){ alert("上传的文件到小为:"+fsize+"kb, 超过最大限度"+flength+"kb,不允许上传 "); return false; }else{ alert("允许上传,文件大小为:"+fsize+"kb"); } }catch(e) { alert(e+" 跳出此消息框,是由于你的activex控件没有设置好, "+ "你可以在浏览器菜单栏上依次选择 "+ "工具->internet选项->"安全"选项卡->自定义级别, "+ "打开"安全设置"对话框,把"对没有标记为安全的 "+ "ActiveX控件进行初始化和脚本运行",改为"启动"即可"); return false; } return true; } </script> </head> <body> <form id="Form1" method="post" encType="multipart/form-data" runat="server"> <INPUT id="fileup" type="file" size="80" name="fileup" onpropertychange="getFileSize(this.value)"> <input type=button onclick="getFileSize(document.all("fileup").value)" value="测试"> </form> </body>
2023-06-20 23:18:312

setMaxFileSize 与setTotalMaxFileSize的区别 假如我想设置图片上传大小限为200k应该怎么写啊

setMaxFileSize 单张图片大小限制setTotalMaxFileSize 批量上传图片总大小限制
2023-06-20 23:18:462

一个下载链接释放到客户端是a标签,其href属性是文件的路径,

换个浏览器试试
2023-06-20 23:18:533

IE8以上,用js获取上传文件大小和绝对路径的实现代码

var f = document.getElementById("file1").files; f[0].size表示第一个文件的大小。。支持IE10以上版本。。。路径好像受保护的。。没法得到。。
2023-06-20 23:19:002