📄 file.h
字号:
/*#############################################################################
* 文件名:file.h
* 功能: 实现了指纹相关文件的操作
* modified by PRTsinghua@hotmail.com
#############################################################################*/
#if !defined FVS__FILE_HEADER__INCLUDED__
#define FVS__FILE_HEADER__INCLUDED__
/* 基本类型的定义文件 */
#include "fvstypes.h"
/* 对象的这些接口实现是私有的,不必为用户所知。使用这里提供的函数操作文件 */
typedef FvsHandle_t FvsFile_t;
/* BITMAP文件头结构 */
typedef struct tagBITMAPFILEHEADER { // bmfh
FvsWord_t bfType;
FvsDword_t bfSize;
FvsWord_t bfReserved1;
FvsWord_t bfReserved2;
FvsDword_t bfOffBits;
} BITMAPFILEHEADER;
/* BITMAP信息头结构 */
typedef struct tagBITMAPINFOHEADER{ // bmih
FvsDword_t biSize;
FvsDword_t biWidth;
FvsDword_t biHeight;
FvsWord_t biPlanes;
FvsWord_t biBitCount;
FvsDword_t biCompression;
FvsDword_t biSizeImage;
FvsDword_t biXPelsPerMeter;
FvsDword_t biYPelsPerMeter;
FvsDword_t biClrUsed;
FvsDword_t biClrImportant;
} BITMAPINFOHEADER;
/* BITMAP调色板结构 */
typedef struct tagRGBQUAD { // rgbq
FvsByte_t rgbBlue;
FvsByte_t rgbGreen;
FvsByte_t rgbRed;
FvsByte_t rgbReserved;
} RGBQUAD;
/******************************************************************************
* 功能:创建一个新的文件对象,只有在创建之后,文件对象才能为其它函数所用。
* 参数:无
* 返回:若创建失败,返回NULL;否则返回新的对象句柄。
******************************************************************************/
extern FvsFile_t FileCreate(void);
/******************************************************************************
* 功能:破坏一个已经存在的文件对象,在毁坏之后,文件对象不能再为其它函数所用。
* 参数:file 即将删除的文件对象指针
* 返回:无返回值
******************************************************************************/
extern void FileDestroy(FvsFile_t file);
/* 文件打开函数所用的选项 */
typedef enum FvsFileOptions_t
{
/* 读打开 */
FvsFileRead = (1<<1),
/* 写打开 */
FvsFileWrite = (1<<2),
/* 创建打开 */
FvsFileCreate = (1<<3)
} FvsFileOptions_t;
/******************************************************************************
* 功能:打开一个新的文件。一个文件可以读打开,写打开,或者被创建。
* 参数:file 文件对象
* name 待打开文件的名字
* flags 打开标志
* 返回:错误编号
******************************************************************************/
extern FvsError_t FileOpen(FvsFile_t file, const FvsString_t name,
const FvsFileOptions_t flags);
/******************************************************************************
* 功能:关闭一个文件对象,文件关闭之后,文件不再可用。
* 参数:file 文件对象
* 返回:错误编号
******************************************************************************/
FvsError_t FileClose(FvsFile_t file);
/******************************************************************************
* 功能:从文件中读数据,所读取的字节数由length决定。读取的数据保存于指针data。
* 参数:file 文件对象
* data 指向存储数据的数组
* length 要读取的字节数
* 返回:实际读取的字节数
******************************************************************************/
FvsUint_t FileRead(FvsFile_t file, FvsPointer_t data,
const FvsUint_t length);
/******************************************************************************
* 功能:往文件中写数据,所写的字节数由length决定。要写入的数据保存于指针data。
* 参数:file 文件对象
* data 指向存储数据的数组
* length 要写入的字节数
* 返回:实际写入的字节数
******************************************************************************/
FvsUint_t FileWrite(FvsFile_t file, const FvsPointer_t data,
const FvsUint_t length);
/******************************************************************************
* 功能:从文件中得到一个字节
* 参数:file 文件对象
* 返回:读取的字节
******************************************************************************/
FvsByte_t FileGetByte(FvsFile_t file);
/******************************************************************************
* 功能:从文件中读取一个字
* 参数:file 文件对象
* 返回:读取的字
******************************************************************************/
FvsWord_t FileGetWord(FvsFile_t file);
/******************************************************************************
* 功能:测试一个文件是否打开
* 参数:file 文件对象
* 返回:文件打开,则返回true;否则返回false
******************************************************************************/
FvsBool_t FileIsOpen(const FvsFile_t file);
/******************************************************************************
* 功能:测试是否到了文件结尾
* 参数:file 文件对象
* 返回:到了结尾,返回true;否则返回false
******************************************************************************/
FvsBool_t FileIsAtEOF(const FvsFile_t file);
/******************************************************************************
* 功能:提交对文件所作的更改
* 参数:file 文件对象
* 返回:错误编号
******************************************************************************/
FvsError_t FileCommit(FvsFile_t file);
/******************************************************************************
* 功能:跳到文件的开头
* 参数:file 文件对象
* 返回:错误编号
******************************************************************************/
FvsError_t FileSeekToBegin(FvsFile_t file);
/******************************************************************************
* 功能:跳到文件的结尾
* 参数:file 文件对象
* 返回:错误编号
******************************************************************************/
FvsError_t FileSeekToEnd(FvsFile_t file);
/******************************************************************************
* 功能:跳到文件的指定位置
* 参数:file 文件对象
* position 指定的文件位置
* 返回:错误编号
******************************************************************************/
FvsError_t FileSeek(FvsFile_t file, const FvsUint_t position);
/******************************************************************************
* 功能:得到当前的文件指针位置
* 参数:file 文件对象
* 返回:当前的指针位置
******************************************************************************/
FvsUint_t FileGetPosition(FvsFile_t file);
#endif /* FVS__FILE_HEADER__INCLUDED__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -