標頭檔案(inifile.h)
複製**
#ifndef __cini_file__
#define __cini_file__
#include
#include
using namespace std;
/*程式說明
1.從ini檔案中讀取引數
2.將引數寫入ini格式檔案
3.[sectin]必須第乙個字元為'[',並以']'結束
4.';'後的字串全部為注釋
5.引數以name=value的方式表示,每一行只能設定乙個引數,'='不能含有空格
6.沒有對程式中注釋做額外的處理,在寫入檔案時,沒有考慮將注釋寫入ini檔案
7.關於ini檔案格式定義請參考:
*///引數行
struct cinientry
cinientry(char* szname,char* szvalue):m_strname(szname),m_strvalue(szvalue){}
string m_strname;
string m_strvalue;
};//注釋行
struct cinicomment
cinicomment(char* strcmt):m_strcomment(strcmt){}
string m_strcomment;
};//section
struct cinisection
;class cinifile
;#endif
實現檔案(inifile.cpp)
複製**
#include "inifile.h"
#include
using namespace std;
//一行最大字元數為260
#define max_cols 260
#define e_ok 0x00l
#define e_open_file_failed 0x01l
/*功能
讀取ini檔案
引數szinifile in 讀入的ini檔名稱
返回值e_ok 呼叫成功
e_open_file_failed 開啟檔案錯我
*/int cinifile::readinifile(char* szinifile)
char szline[max_cols] = ;
while (finifile.getline(szline,max_cols))
//是否為;
trim( p );
if( *p == ';')
//否則視為entry
//p = szline;
char* ptemp = strchr( p,'=');
if(ptemp == null)
*ptemp = 0;
//建立乙個entry
cinientry ie;
ie.m_strname = p ;
ie.m_strvalue = ptemp + 1;
//將entry加入到響應的section
m_issection[m_issection.size() - 1 ].m_ieentry.push_back(ie);
memset(szline,0,max_cols);
}finifile.close();
return e_ok;}/*
功能將cinifile中的內容寫入檔案
引數szinifile in 生成的ini檔名稱
返回值e_ok 呼叫成功
e_open_file_failed 開啟檔案錯誤
*/int cinifile::writeinifile(char* szinifile)
}finifile.close();
return e_ok;}/*
功能刪除前後的空格(' ','/t','/r','/n')
引數szstring in 傳入的字串
out 去除空格後的字串
返回值e_ok 呼叫成功
*/int cinifile::trim(char* &szstring)
szstring = p;
p = szstring + strlen(szstring) - 1;
while ( *p == ' ' || *p == '/t' || *p == '/r' || *p == '/n')
*( p + 1 ) = 0;
return e_ok;}/*
功能刪除注釋
引數szline in 傳入的字串
out 刪除注釋後的字串
返回值e_ok 呼叫成功
*/int cinifile::removecomment(char* szline)
測試**
複製**
cinifile cf;
cf.readinifile("inifile.ini");
cf.writeinifile("inifile2.ini");
讀寫配置檔案 ini
配置檔案中經常用到ini檔案,在vc中其函式分別為 其中個引數的意思 lpctstr lpstring 是鍵值,也就是變數的值,必須為lpctstr或cstring型別 lpctstr lpfilename 完整的ini檔案路徑名 lpctstr lpdefaut 如果沒有其前兩個引數值,則將此值賦...
讀寫配置檔案 ini
在我們寫的程式當中,總有一些配置資訊需要儲存下來,以便完成程式的功能,最簡單的辦法就是將這些資訊寫入ini檔案中,程式初始化時再讀入.具體應用如下 一.將資訊寫入.ini檔案中.1.所用的winapi函式原型為 bool writeprivateprofilestring lpctstr lpkey...
讀寫INI配置檔案
在一些c s程式中我們經常會使用ini配置檔案 優點 1.靈活。2.相對於一些資料量的程式,相對使用資料庫更節約資源。配置檔案操作類 internal static class operconfigfile path.getdirectoryname assembly.getexecutingass...