⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filelibrary.h

📁 设计一个类库
💻 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 + -