C++ Builder 的文件读写操作总结
来源:互联网 发布:js根据id隐藏div 编辑:程序博客网 时间:2024/05/01 04:42
FileOpen() 打开文件
FileClose() 关闭文件
FileRead() 读文件
FileSeek() 文件定位
FileWrite() 写文件
FileCreate() 创建文件
下面就对这些函数作详细介绍。
1. FileOpen()
【原型】:extern PACKAGE int __fastcall FileOpen(const AnsiString FileName, int Mode);
【功能】:打开文件,如果成功返回其句柄,否则返回-1
【参数】:
FileName: 要打开的文件名;
Mode: 打开的方式,取值如下表,可用"或"("|")运算符连接。
fmOpenRead0以只读属性打开fmOpenWrite1
以只写属性打开fmOpenReadWrite2
以读/写属性打开fmShareCompat0
兼容FCB方式(汇编中有相应的DOS功能调用,自已查资料)fmShareExclusive16共享方式:以独占方式打开,在关闭以前,别人不能访问fmShareDenyWrite32
共享方式:拒绝写访问fmShareDenyRead48
共享方式:拒绝读访问fmShareDenyNone64
共享方式:无限制,允许读写
例子:
int iHandle = FileOpen("C:\\WINDOWS\\Win.ini", fmOpenReadWrite|fmShareExclusive);
通过【打开对话框】获取打开的文件名:
1.添加OpenDialog控件,头文件中自动添加:
TOpenDialog *OpenDialog1;2. .cpp文件中
int iHandle; if(OpenDialog1->Execute()) { iHandle = FileOpen(OpenDialog1->FileName, fmOpenReadWrite|fmShareExclusive); }
2. FileClose()
【原型】:extern PACKAGE void __fastcall FileClose(int Handle);
【功能】:关闭打开的句柄。
【参数】:Handle: 要关闭的句柄
例子:
FileClose(iHandle);3. FileRead()
【原型】:extern PACKAGE int __fastcall FileRead(int Handle, void *Buffer, int Count);
【功能】:读文件,返回实际读取的字节数,句柄必须首先由FileOpen或FileCreate创建。
【参数】:Handle: 要读取的句柄;
Buffer: 存放读取的数据的缓冲区;
Count: 想读取的字节数
例子:
char str[400];FileRead(iHandle,str,400);
4. FileSeek()
【原型】:extern PACKAGE int __fastcall FileSeek(int Handle, int Offset, int Origin);
【功能】:移动文件读取指针,成功返回文件指针的位置,失败返回-1
【参数】:Handle:相关联的句柄;
Offset:移动的量;
Orgin:移动的基准,0=文件头,1=当前位置,2=文件尾。
例子:
ShowMessage( FileSeek(iHandle, 0, 2) ); //取得文件的长度
5. FileWrite()
【原型】:extern PACKAGE int __fastcall FileWrite(int Handle, const void *Buffer, int Count);
【功能】:写文件,返回实际写入的字节数,句柄必须首先由FileOpen或FileCreate创建。
【参数】:Handle:要写入的句柄;
Buffer:存放写入数据的缓冲区;
Count:想写入的字节数
例子:
char str[]="I Love You";FileWrite(iHandle, str, strlen(str));
6. FileCreate()
【原型】:extern PACKAGE int __fastcall FileCreate(const AnsiString FileName);
【功能】:创建文件。成功返回其句柄,否则返回-1
【参数】:FileName:要创建的文件名
例子:
if( !FileExists("KC.C") ){ int iHandle = FileCreate("KC.C");}
以下是一个完整的例子:
【功能】:对话框程序,点击一个Button,弹出【打开文件】对话框,选择一个文本文件,将文本文件内容显示在文本框内。
【实现】:对话框中添加:Button,OpenDialog组件,添加文本框,双击Button,添加以下代码:
int iFileHandle; int iFileLength; int iBytesRead; char *pszBuffer; if (OpenDialog1->Execute()) { try { iFileHandle = FileOpen(OpenDialog1->FileName, fmOpenRead); iFileLength = FileSeek(iFileHandle,0,2); FileSeek(iFileHandle,0,0); pszBuffer = new char[iFileLength+1]; iBytesRead = FileRead(iFileHandle, pszBuffer, iFileLength); FileClose(iFileHandle); this->Memo1->Text=pszBuffer; delete [] pszBuffer; } catch(...) { Application->MessageBox("Can't perform one of the file read operation", "Alert", IDOK); } }
- C++builder的文件读写操作总结
- C++builder的文件读写操作总结(3)
- C++builder的文件读写操作总结(2)
- C++builder的文件读写操作总结(1)
- C++ builder 的文件读写操作总结
- C++ builder 的文件读写操作总结
- C++ builder 的文件读写操作总结
- C++ builder 的文件读写操作总结
- C++ builder 的文件读写操作总结
- C++ builder 的文件读写操作总结
- C++ Builder 的文件读写操作总结
- c++ builder 操作ini文件的读写
- C读写文件操作总结
- C++BUILDER的文件操作
- C++BUILDER的文件操作
- C++BUILDER的文件操作
- C++BUILDER的文件操作
- C++ builder 的文件读写操作总结 (来源:论坛整理 作者:佚名)
- ST推出第二代串联二极管可替代碳化硅二极管
- 学习笔记:构造函数的继承
- Android View 绘制刷新流程分析
- hdu 1199 Color the ball(线段树离散化区间染色)
- 关于NGUI中Label对象的获取
- C++ Builder 的文件读写操作总结
- oracel导入数据库dmp步骤
- sip 协议
- mixare的measureText方法在频繁调用时抛出“referencetable overflow max 1024”的解决方案
- JMS Apache ActiveMQ(消息中间件)使用攻略
- mysql
- C#中如何实现JAVA中的String.replaceAll()方法功能
- 使用CornerStone下载的项目,出现can't locate file for: -lpng
- APACHE与TOMCAT集群架设--动手操作