新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 开发语言 > C++ > 正文:C++ builder 的文件读写操作总结

C++ builder 的文件读写操作总结

新客网 XKER.COM 2008-04-14 来源:新客网整理转载 收藏本文

 3.  文件I/O函数

  这类函数完成对文件的读写相关的操作,这种类型的操作和C的基于I/O文件操作类似,下表列出这类操作常用的函数及其功能。

  FileOpen() 打开文件

  FileClose() 关闭文件

  FileRead() 读文件

  FileSeek() 文件定位  

  FileWrite() 写文件

  FileCreate() 创建文件

  下面就对这些函数作详细介绍。

  ⑴FileOpen()

  原型:extern PACKAGE int __fastcall FileOpen(const AnsiString FileName, int Mode);

  功能:打开文件,如果成功返回其句柄,否则返回-1

  参数:FileName:要打开的文件名;Mode:打开的方式,取值如下表,可用"或"("|")运算符连接。

  常量 值 说明

  fmOpenRead 0 以只读属性打开

  fmOpenWrite 1 以只写属性打开

  fmOpenReadWrite 2 以读/写属性打开

  fmShareCompat 0 兼容FCB方式(汇编中有相应的DOS功能调用,感兴趣自已查阅相关资料)

  fmShareExclusive 16 共享方式:以独占方式打开,在关闭以前,别人不能访问

  fmShareDenyWrite 32 共享方式:拒绝写访问

  fmShareDenyRead 48 共享方式:拒绝读访问

  fmShareDenyNone 64 共享方式:无限制,允许读写

  例:int i=FileOpen("C:\\Windows\\Win.ini",fmOpenReadWrite|fmShareExclusive);

  ⑵FileClose()

  原型:extern PACKAGE void __fastcall FileClose(int Handle);

  功能:关闭打开的句柄。

  参数:Handle:要关闭的句柄

  例:FileClose(i);

  ⑶FileRead()

  原型:extern PACKAGE int __fastcall FileRead(int Handle, void *Buffer, int Count);

  功能:读文件,返回实际读取的字节数,句柄必须首先由FileOpen或FileCreate创建。

  参数:Handle:要读取的句柄;Buffer:存放读取的数据的缓冲区;Count:想读取的字节数

  例:char str[400];FileRead(hnd1,str,400);

  ⑷FileSeek()

  原型:extern PACKAGE int __fastcall FileSeek(int Handle, int Offset, int Origin);

  功能:移动文件读取指针,成功返回文件指针的位置,失败返回-1

  参数:Handle:相关联的句柄;Offset:移动的量;Orgin:移动的基准,0=文件头,1=当前位置,2=文件尾。

  例:ShowMessage(FileSeek(hnd1,0,2));//取得文件的长度

  ⑸FileWrite()

  原型:extern PACKAGE int __fastcall FileWrite(int Handle, const void *Buffer, int Count);

  功能:写文件,返回实际写入的字节数,句柄必须首先由FileOpen或FileCreate创建。

  参数:Handle:要写入的句柄;Buffer:存放写入数据的缓冲区;Count:想写入的字节数

  例:char str[]="I Love You";FileWrite(hnd1,str,strlen(str));

  ⑹FileCreate()

  原型:extern PACKAGE int __fastcall FileCreate(const AnsiString FileName);

  功能:创建文件。成功返回其句柄,否则返回-1

  参数:FileName:要创建的文件名

  例:if(!FileExists("KC.C"))hnd1=FileCreate("KC.C");

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐