📄 filelibrary.h
字号:
#ifndef FILEFUNCTION_H
#define FILEFUNCTION_H
#include<fstream>
#include<string>
#include"llist.h"
class FileFunction{
public:
FileFunction(); //构造函数,初始化各种变量;
void MenuProcess(); //菜单1.处理文件
void MenuReadWrite(); //菜单2.顺序读写
void MenuAddRec(); //菜单3.添加记录
void MenuLocateRec(); //菜单4.定位记录
void MenuRewriteRec(); //菜单5.重写记录
void MenuDeleteRec(); //菜单6.删除记录
void MenuCheckPointer(); //菜单7.判断当前指针位置
void MenuCount(); //菜单8.计数
bool MenuReadIndex(); //菜单9.链接查看索引文件
void MenuWriteToFile(); //菜单10.将一个文件中的若干条记录或全部记录写到一个文件中(新文件);
bool Create(char*); //创建一个空文件;
bool Open(char*); //打开一个已存在的文件,使其处于可存取状态并同时打开对应的索引文件,
//把索引文件包含的记录头信息顺序读进内存,生成一条链表。
bool Close(); //关闭一个已打开的文件,,缓冲区里链表的内容全部内容写回外存的索引文件里。
bool ReadByOrder( ); //顺序读,按记录的逻辑次序依次读取各记录
bool WriteByOrder(); //从当前记录起,顺序写入新记录,自动编排记录号。当前记录及其后面记录被自动删去
bool AppendRec(); //增加记录到尾部
bool InsertCurrentRec(); //增加记录到当前记录之前
bool DeleteBySeq(); //按记录号删除记录
bool DeleteByTag(); //按标识删除记录
bool DeleteCurrentRec(); //删除当前记录
bool RewriteData(); //重写数据内容
bool RewriteTag(); //重写记录标识
bool ForwardPointer(); //顺序移动记录指针(向前)
bool BackwardPointer(); //顺序移动记录指针(向后)
bool LocateBySeq(int); //顺序遍历链表,按记录号定位记录;
bool LocateByTag(char*); //顺序遍历链表,按记录标识定位记录;
bool CheckIsBegin(); //判别当前记录指针是否已到达文件头,注意是逻辑顺序上的头,即链表头
bool CheckIsEnd(); //判别当前记录指针是否已到达文件尾(结束标记),即链表尾
bool CheckFileOpen(); //判断文件是否打开
int CountRec(); //求文件记录数;
long CountByte(); //求文件字节数;
bool WriteAllToFile(); //将一个文件中全部记录写到一个文件中(新文件);
bool WriteSomeToFile(); //将一个文件中的若干条记录或全部记录写到一个文件中(新文件);
private:
LList RecList; //索引链表
fstream File; //打开的文件流
char* FileName; //已打开的文件名
long End; //文件的结束位置
int NextNum; //下一条被插入的记录的序列号
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -