網(wǎng)絡(luò)服務(wù)器軟件開發(fā)/中間件開發(fā),關(guān)注ACE/ICE/boost
C++博客
首頁
新隨筆
聯(lián)系
聚合
管理
152 Posts :: 3 Stories :: 172 Comments :: 0 Trackbacks
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(18)
給我留言
查看公開留言
查看私人留言
隨筆分類
ACE(12)
boost(6)
C++基礎(chǔ)(20)
CORBA(4)
Design Pattern(1)
ebook(1)
ICE(7)
java(1)
linux(28)
mysql(15)
PHP(1)
python(6)
RakNet(1)
SQLite
STL(1)
VC/MFC/.NET(4)
辦公技巧(5)
編碼知識(8)
創(chuàng)意&想法(2)
開發(fā)感想(12)
理財(2)
其它開源庫(13)
生活感想(23)
數(shù)據(jù)結(jié)構(gòu)算法(1)
通信技術(shù)(8)
網(wǎng)絡(luò)服務(wù)器開發(fā)(9)
游戲開發(fā)(4)
隨筆檔案
2012年7月 (1)
2011年9月 (1)
2011年8月 (1)
2011年5月 (2)
2011年4月 (1)
2011年1月 (9)
2010年12月 (6)
2010年11月 (1)
2010年10月 (3)
2010年9月 (12)
2010年8月 (7)
2010年7月 (1)
2009年10月 (2)
2009年9月 (3)
2009年8月 (1)
2009年3月 (1)
2009年2月 (5)
2009年1月 (6)
2008年12月 (2)
2008年11月 (1)
2008年10月 (1)
2008年9月 (1)
2008年7月 (9)
2008年6月 (10)
2008年5月 (13)
2008年4月 (2)
2008年3月 (3)
2008年1月 (1)
2007年11月 (5)
2007年9月 (1)
2007年8月 (5)
2007年7月 (3)
2007年6月 (2)
2007年5月 (4)
2007年4月 (20)
2007年3月 (6)
文章分類
設(shè)計模式
文章檔案
2007年3月 (3)
好友博客
LOGOS
搜索
積分與排名
積分 - 236321
排名 - 107
最新評論
1.?re: C++實現(xiàn)的MD5算法
你這代碼功底也夠爛了,你多測試幾次,內(nèi)存嘩嘩的流...
--熱心網(wǎng)頁
2.?re: std::queue的front的問題[未登錄]
在c++中int并不是類,沒有析構(gòu),是值拷貝。
你換std::string試試,準掛。
--星爺
3.?re: mysql下如何執(zhí)行sql腳本【轉(zhuǎn)】[未登錄]
Thanks!
--me
4.?re: ldconfig幾個需要注意的地方 zhuan
學習了,收藏
--thebye85
5.?re: 體驗RakNet的RPC3
評論內(nèi)容較長,點擊標題查看
--雅歌
閱讀排行榜
1.?mysql下如何執(zhí)行sql腳本【轉(zhuǎn)】(15009)
2.?怪異的boost,fatal error LNK1104: 無法打開文件“l(fā)ibboost_system-vc80-mt-gd-1_35.lib”(11450)
3.?boost interprocess之message queue(7120)
4.?【ZT】ADSL大型技術(shù)專題(圖文)(6918)
5.?VOIP開源項目源碼地址(二) ---[voip涉及到的所有的資料]【轉(zhuǎn)帖】(5442)
評論排行榜
1.?Buffer類就應(yīng)該簡單,直觀(16)
2.?怪異的boost,fatal error LNK1104: 無法打開文件“l(fā)ibboost_system-vc80-mt-gd-1_35.lib”(13)
3.?自己造的一個線程類(12)
4.?對基本類型的再包裝,方便了移植(12)
5.?游戲害慘了我多少同學(10)
C++中使用C#的App.Config配置文件
自從做公司的SNS社區(qū)以來,寫了不少的C#代碼,與C++相比,C#是易于使用的,開發(fā)效率提高很多倍,其中印象比較深刻的是,在一個C#工程中,可以通過向?qū)砑优渲梦募J文件名為App.Config,是XML格式,一般內(nèi)容為:
<?
xml version
=
"
1.0
"
encoding
=
"
utf-8
"
?>
<
configuration
>
<
appSettings
>
<
add key
=
"
Ip
"
value
=
"
localhost
"
/>
<
add key
=
"
Port
"
value
=
"
8888
"
/>
<
add key
=
"
ServiceName
"
value
=
"
Indexer
"
/>
</
appSettings
>
</
configuration
>
通過在appSettings里面添加add元素,即可實現(xiàn)通常的配置功能,更重要的是,可以進一步擴展為多級的樹形結(jié)構(gòu),與Ini格式相比,更直觀,可讀性更強,下面是基于CMarkup(
http://www.firstobject.com/
)的一個簡單實現(xiàn):
頭文件如下:
#pragma once
#include
<
string
>
#include
<
map
>
class
AppConfig
{
public
:
AppConfig(
void
);
~
AppConfig(
void
);
int
GetInt(std::
string
key);
std::
string
GetString(std::
string
key);
private
:
std::map
<
std::
string
,std::
string
>
config_map_;
}
;
extern
AppConfig appConfig;
源文件如下:
#include
"
AppConfig.h
"
#include
"
Markup.h
"
AppConfig appConfig;
AppConfig::AppConfig(
void
)
{
CMarkup parser;
if
(
!
parser.Load(
"
App.Config
"
))
{
return
;
}
if
(parser.FindChildElem(
"
appSettings
"
))
{
parser.IntoElem();
while
(parser.FindChildElem(
"
add
"
))
{
std::
string
key
=
parser.GetChildAttrib(
"
key
"
);
std::
string
value
=
parser.GetChildAttrib(
"
value
"
);
config_map_[key]
=
value;
}
parser.OutOfElem();
}
}
AppConfig::
~
AppConfig(
void
)
{
}
int
AppConfig::GetInt( std::
string
key )
{
if
(config_map_.find(key)
!=
config_map_.end())
{
return
atoi(config_map_[key].c_str());
}
else
{
return
0
;
}
}
std::
string
AppConfig::GetString( std::
string
key )
{
if
(config_map_.find(key)
!=
config_map_.end())
{
return
config_map_[key];
}
else
{
return
""
;
}
}
測試代碼為:
//
MarkupTest.cpp : 定義控制臺應(yīng)用程序的入口點。
//
#include
"
stdafx.h
"
#include
"
AppConfig.h
"
#include
<
iostream
>
using
namespace
std;
int
_tmain(
int
argc, _TCHAR
*
argv[])
{
cout
<<
appConfig.GetString(
"
Ip
"
)
<<
"
-----
"
<<
appConfig.GetInt(
"
Port
"
)
<<
"
----
"
<<
appConfig.GetString(
"
ServiceName
"
)
<<
endl;
return
0
;
}
posted on 2010-12-29 00:25
true
閱讀(2567)
評論(0)
編輯
收藏
引用
所屬分類:
其它開源庫
、
C++基礎(chǔ)
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
給ZThread提供一個patch
C++中使用C#的App.Config配置文件
讓人有點郁悶的PHP
國內(nèi)一個不錯的開源鏡像
cmarkup【轉(zhuǎn)】
開源數(shù)據(jù)庫概覽【轉(zhuǎn)】
92個經(jīng)典開源項目集錦(包括URL)【轉(zhuǎn)】
TinyXml總結(jié)
tinyxml 的使用,轉(zhuǎn)
tinyxml 使用
網(wǎng)站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © true
亚洲伊人久久大香线蕉综合图片
|
欧美精品国产综合久久
|
99久久国产热无码精品免费
|
潮喷大喷水系列无码久久精品
|
99久久久精品免费观看国产
|
国产成人99久久亚洲综合精品
|
久久久久国产一级毛片高清板
|
亚洲午夜无码久久久久小说
|
久久婷婷五月综合色奶水99啪
|
99久久精品免费看国产
|
99久久精品免费看国产一区二区三区
|
99久久国产综合精品麻豆
|
久久香蕉一级毛片
|
欧美久久久久久
|
久久综合欧美成人
|
亚洲一级Av无码毛片久久精品
|
久久综合丝袜日本网
|
午夜精品久久久久久中宇
|
国产免费福利体检区久久
|
欧洲精品久久久av无码电影
|
日韩久久久久中文字幕人妻
|
99久久免费国产精品
|
无码伊人66久久大杳蕉网站谷歌
|
久久久噜噜噜久久
|
国产精品久久亚洲不卡动漫
|
久久婷婷五月综合成人D啪
|
91精品国产高清久久久久久国产嫩草
|
久久99毛片免费观看不卡
|
亚洲熟妇无码另类久久久
|
国产69精品久久久久99
|
91超碰碰碰碰久久久久久综合
|
久久久无码精品亚洲日韩按摩
|
亚州日韩精品专区久久久
|
久久久久黑人强伦姧人妻
|
久久99精品久久久久久不卡
|
久久久久亚洲AV成人网人人软件
|
99久久超碰中文字幕伊人
|
久久久精品免费国产四虎
|
97久久精品无码一区二区天美
|
久久九九精品99国产精品
|
99久久99久久久精品齐齐
|