Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1490426
  • 博文数量: 226
  • 博客积分: 3997
  • 博客等级: 少校
  • 技术积分: 2369
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-19 17:26
个人简介

Never save something for a special occasion. Every day in your life is a special occasion.

文章分类

全部博文(226)

文章存档

2018年(5)

2017年(11)

2016年(1)

2015年(17)

2014年(14)

2013年(30)

2012年(5)

2011年(52)

2010年(107)

分类: C/C++

2011-01-19 23:41:30

文件操作
BCB对C和C++中的文件操作方式都支持,而且还提供一套自己的文件操作函数,功能更多,使用也更文件。
需要注意,在对文件操作的时候前后所用的文件函数必须保持一致。

C中的文件操作
头文件 stdio.h。
文件指针 FILE *fp; fp指向一个FILE类型的结构体,其中包含文件的信息,如文件名、文件状态及当前位置等。

常用函数:

fopen(const *filename, const char *mode);   // mode="r"/"w"/"a"等。
打开文件。

fclose(FILE *stream);
关闭文件。成功返回0.

fprintf(FILE *stream, const char *format[,argument,...]);
格式化输出,仅适用于文本文件。

fscanf((FILE *stream, const char *format[,address,...]);
格式化输入,仅适用于文本文件。

feof(FILE *stream);
检测文件尾。

ferror(FILE *stream);
读写错误检测。

fread(void *ptr, size_t size, size_t n, FILE *stream);
按块读取。读取n个size大小的块到ptr。
成功返回n。

fwrite(const void *ptr, size_t size, size_t n, FILE *stream);
按块写入。写入n个size大小的块到stream。
成功返回n。

fseek(FILE *stream, long offset, int whence);
移动文件内部指针。

filelength(int handle);
文件大小。

fgetc(FILE *stream);
fputc(int c, FILE *stream);
读写字符。

rewind(FILE *stream);
文件内指针归零。

remove(const char *filename);
删除文件。成功返回0.



C++中的文件操作
C++是一种面向对象的语言,其中对文件的操作也封装在流式系统类中。
C++中流式文件类主要由fstream、ifstream 和 ofstream,用 cin、cout 实现对文件的操作。

BCB中的文件操作
BCB文件和目录相关的函数定义在SysUtils.hpp中。

FileOpen(const AnsiString FileName, unsigned Mode)
打开一个文件,打开模式有fmOpenRead、fmOpenWrite、fmOpenReadWrite等

DeleteFile(const AnsiString FileName)
删除一个文件

FileCreate(const AnsiString FileName)
创建一个文件

FileRead(int Handle, void *Buffer, unsigned Count)
从句柄为Handle的文件中读取Count个字节的数据到Buffer指定的内存

FileWrite(int Handle, const void *Buffer, unsigned Count)
向句柄为Handle的文件中写入Count字节的数据,这些数据在Buffer指向的内存位置

FileSeek(int Handle, int Offset, int Origin)
文件定位

FileClose(int Handle)
关闭文件

FileAge(const AnsiString FileName)
返回文件的修改日期和时间

FileExists(const AnsiString FileName)
检查文件是否存在,存在返回true

FileGetDate(int Handle)
FileSetDate(const AnsiString FileName, int Handle,  int Age);
获取文件的Dos时间日期
设定文件的Dos时间日期

FileGetAttr(const AnsiString FileName)
FileSetAttr(const AnsiString FileName, int Attr)
获取文件的属性
设定文件的属性

FindFirst(const AnsiString Path, int Attr, TSearchRec &F)
查找文件或目录
FindNext(TSearchRec &F)
用在FindFirst之后查找下一个文件或目录
FindClose  FindClose(TSearchRec &F)
结束文件查找

RenameFile(const AnsiString OldName, const AnsiString NewName)
ChangeFileExt(const AnsiString FileName, const AnsiString Extension)
对文件重命名
改变文件的扩展名

ExtractFilePath(const AnsiString  FileName)
ExtractFileDir(const AnsiString FileName)
ExtractFileName(const AnsiString  FileName)
ExtractFileExt(const AnsiString  FileName)
ExtractFileDrive(const AnsiString FileName)
返回文件的全路径
返回文件所在的目录
返回文件名(不含路径)
返回文件的扩展名
返回文件所在的驱动器

FileSearch(const AnsiString Name, const AnsiString DirList)
在DirList目录中寻找指定文件

DiskFree(Byte Drive)
返回驱动器的剩余空间大小
DiskSize(Byte Drive)
返回驱动器的容量大小

GetCurrentDir()
SetCurrentDir(const AnsiString Dir)
返回当前路径
设置当前路径

CreateDir(const AnsiString Dir)
RemoveDir(const AnsiString Dir)
新建目录
删除目录


阅读(1353) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~