if(fMode==SAVE_NEW)
f = fopen(filename,"wb"); //Generate a New File
else if(fMode==SAVE_APPEND)
f = fopen(filename,"ab"); //Append to End of File
else if(fMode==SAVE_MODIFY)
f = fopen(filename,"r+b"); //Modify the Original File
return;
}
void SaveFile::AddBlock(char *blockname)
{
if(fMode==SAVE_MODIFY)
fseek(f,0,SEEK_END); //Seek to End of File
ini.h
======================
class SaveFile
{
public:
FILE *f;
char far file_name[50];
int fMode;
SaveFile(char *filename,int fmode=SAVE_NEW);
void AddBlock(char *blockname); //Add Block of Save File
void AddItem(char *itemname,int itemtype,...); //Add Item of Save File
void AddLong(char *itemname,long data);
void AddDword(char* itemname,DWORD data);
void AddStr(char* itemname,char *data);
void AddNote(char *note);
/*
Change the content of item . You must declare the SaveFile with SAVE_MODIFY
Parameter or YOU CAN NOT USE THIS FUNCTION.
*/
BOOL ChangeItem(char *blockname,char *itemname,int itemtype,...);
BOOL ChangeLong(char *blockname,char *itemname,long NewData);
BOOL ChangeDword(char *blockname,char *itemname,DWORD NewData);
BOOL ChangeStr(char *blockname,char *itemname,char far* NewData);
BOOL DeleteItem(char *blockname,char *itemname);
~SaveFile()
{ fclose(f);
}
};
class LoadFile
{
public:
FILE *f;
LoadFile(char *filename);
BOOL GetItem(char *blockname,char *itemname,int itemtype,...); //Get Item From File , If blockname=NULL => Get the First Match Item Name
BOOL GetLong(char *blockname,char *itemname,long *data);
BOOL GetDword(char *blockname,char* itemname,DWORD *data);
BOOL GetStr(char *blockname,char* itemname,char *data);
BOOL GetSwitchState(char *blockname,char *itemname,BOOL &fSwitch); //Get Switch Status (TRUE:1 or FALSE:0)
int CFileini::iniopen(char *FileName,int It)
{
int filelen=strlen(FileName);
if(filelen>512)filelen=512;
strncpy(inifilename,FileName,filelen);
inifilename[filelen]=0;
fp=fopen(FileName,"a+");
int i=0;
if(fp==NULL)return i;
i=1;
int fileeof=0,strsize=0;