|
藍森林 http://www.lslnet.com 2006年6月6日 10:18
在sco unix環境下 使用c語言怎樣寫.ini文件
在sco unix環境下 使用c語言怎樣寫.ini文件 |
在sco unix環境下 使用c語言怎樣寫.ini文件
??
到了哪兒也是文件啊。
有什麼不一樣麼? |
在sco unix環境下 使用c語言怎樣寫.ini文件
不明白,
fopen("zhansan.init","w")
不行嗎? |
在sco unix環境下 使用c語言怎樣寫.ini文件
如果想偷懶,那麼可用用orient類庫(我寫的 :D ),別向我要源碼 8)
[code]
orient類庫中提供了ini文件接口類TIni。
配置文件操作類TIni提供了對ini文件的常用操作函數,包括讀取和修改,如讀取文件、保存文件、讀取key值、設置key值等,同時提供了組的操作。
頭文件 cini.h
LoadFile(char * filename);得到文件的內容數據;對文件的操作,先在內存進行
TIniSet * GetSet(char * grpname集合名稱),根據名稱取一個集合指針
TIniSet * AddSet(char * grpname集合名稱,char * comment集合註釋);添加一個集合
int RemoveSet (char * grpname); 函數功能:根據集合名稱刪除一個集合
int AddItem(char * grpname,char * item條目名稱,char * key條目的值,char * comment條目的註釋),在集合裡添加一個條目
int SetKey(char * grpname,char * item,char * key); 函數功能:設置一個條目的值
void RemoveKey(char * grpname,char * item,char * key); 函數功能:根據值刪除一個條目
void RemoveItem(char * grpname,char * item); 函數功能:根據名稱刪除一個條目
IniItemStru * GetItem(char * grpname,char * item); 函數功能:根據名稱取一個條目
char * GetKey(char * grpname,char * item); 函數功能:根據名稱取一個條目的值
char * GetKey(char * ininame,char * grpname,char * item); 函數功能:根據名稱取一個條目的值
int SaveToFile(char * filename要保存的文件名);更新配置文件,將內存信息寫回文件。
void Exam_TIni()
{
TIni ini;
TIniSet * set;
printf("*********************************************************************\n");
printf("* 下面是 Exam_TIni 的例子 *\n");
printf("*********************************************************************\n\n");
printf("TIniSet * TIni::AddSet(char * grpname,char * comment)\n");
printf("函數功能:添加一個集合\n\
傳入參數:\n\
grpname: 集合名稱\n\
comment: 集合註釋\n\
返回參數:\n\
成功:集合指針\n\
失敗:NULL\n");
set=ini.AddSet("general","系統信息");
if(set==NULL)
{
printf("add set fail\n");
return;
}
else
printf("add set ok\n\n");
printf("int TIni::AddItem(char * grpname,char * item,char * key,char * comment)\n");
printf("函數功能:在集合裡添加一個條目\n\
傳入參數:\n\
grpname: 集合名稱\n\
item: 條目名稱\n\
key: 條目的值\n\
comment: 條目的註釋\n\
返回參數:\n\
成功 1\n\
失敗 0\n");
if(!ini.AddItem("general","serialno","ABCDEFG","序列號"))
printf("add item fail\n");
else
printf("add item ok\n");
if(!ini.AddItem("general","resmgrnum","1","管理器數量"))
printf("add item fail\n");
else
printf("add item ok\n");
if(!ini.AddItem("general","mintermid","1000","最小終端流水"))
printf("add item fail\n");
else
printf("add item ok\n");
if(!ini.AddItem("general","maxtermid","1000","最大終端流水"))
printf("add item fail\n");
else
printf("add item ok\n\n");
set=ini.AddSet("resmgrip","資源管理器IP");
if(set==NULL)
{
printf("add set fail\n");
return;
};
set=ini.AddSet("resmgrport","資源管理器PORT");
if(set==NULL)
{
printf("add set fail\n");
return;
};
printf("int TIni::SaveToFile(char * filename)\n");
printf("函數功能:更新配置文件\n\
傳入參數:\n\
filename: 要保存的文件名\n\
返回參數:\n\
0 保存失敗 \n\
1 保存成功\n");
if(!ini.SaveToFile("test.ini"))
printf("save to file fail\n\n");
else
printf("save to file ok\n\n");
printf("int TIni::LoadFile(char * filename)\n");
printf("函數功能:打開配置文件\n\
傳入參數:\n\
filename: 要打開的文件名\n\
返回參數:\n\
成功: 1\n\
失敗: 0\n");
if(!ini.LoadFile("test.ini"))
printf("load file fail\n\n");
else
printf("load file ok\n\n");
printf("int TIni::RemoveSet(char * grpname)\n");
printf("函數功能:根據集合名稱刪除一個集合\n\
傳入參數:\n\
grpname: 集合名稱\n\
返回參數:\n\
成功:1\n\
失敗:0\n");
if(!ini.RemoveSet("resmgrport"))
printf("remove set fail\n\n");
else
printf("remove set ok\n\n");
printf("int TIni::SetKey(char * grpname,char * item,char * key)\n");
printf("函數功能:設置一個條目的值\n\
傳入參數:\n\
grpname: 集合名稱\n\
item: 條目名稱\n\
key: 條目的值\n\
返回參數:\n\
成功 1\n\
失敗 0\n");
if(!ini.SetKey("general","serialno","00C6G0A162W3EUR0I024"))
printf("setkey fail\n\n");
else
printf("setkey ok\n\n");
printf("void TIni::RemoveKey(char * grpname,char * item,char * key)\n");
printf("函數功能:根據值刪除一個條目\n\
傳入參數:\n\
grpname: 集合名稱\n\
item: 條目名稱\n\
key: 條目的值\n\
返回參數:\n");
ini.RemoveKey("general","mintermid","1000");
puts("");
printf("void TIni::RemoveItem(char * grpname,char * item)\n");
printf("函數功能:根據名稱刪除一個條目\n\
傳入參數:\n\
grpname: 集合名稱\n\
item: 條目名稱\n\
返回參數:\n");
ini.RemoveItem("general","maxtermid");
puts("");
printf("char * TIni::GetKey(char * grpname,char * item)\n");
printf("函數功能:根據名稱取一個條目的值\n\
傳入參數:\n\
grpname: 集合名稱\n\
item: 條目名稱\n\
返回參數:\n\
成功:條目的值\n\
失敗:NULL\n");
char * ptr;
ptr=ini.GetKey("general","serialno");
if(ptr==NULL)
printf("cant get key of serialno[general]\n\n");
else
printf("get key of serialno[general] ok: '%s'\n\n",ptr);
printf("int TIni::GetItemKey(char * grpname,char * item,char * pkeyval)\n");
printf("函數功能:根據名稱取一個條目的值\n\
傳入參數:\n\
grpname: 集合名稱\n\
item: 條目名稱\n\
pkeyval: 用於存放條目值的內存指針\n\
返回參數:\n\
成功:1,同時把條目的值存放在pkeyval的內存中\n\
失敗:0\n");
char sn[200];
if(!ini.GetItemKey("general","serialno",sn))
printf("cant get key of serialno[general]\n\n");
else
printf("get key of serialno[general] ok: '%s'\n\n",sn);
if(!ini.SaveToFile("test.ini"))
printf("save to file fail\n\n");
else
printf("save to file ok\n\n");
};
[/code] |
在sco unix環境下 使用c語言怎樣寫.ini文件
謝謝老大 |
在sco unix環境下 使用c語言怎樣寫.ini文件
http://sourceforge.net/projects/inilib/
看看是否合用。 |
在sco unix環境下 使用c語言怎樣寫.ini文件
-->
是免費的嗎? |
在sco unix環境下 使用c語言怎樣寫.ini文件
自己看不就知道了 |
| |