亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? propertyfileconfiguration.cpp

?? This software aims to create an applet and panel tools to manage a wireless interface card, such as
?? CPP
字號:
//
// PropertyFileConfiguration.cpp
//
// $Id: //poco/Main/Util/src/PropertyFileConfiguration.cpp#1 $
//
// Copyright (c) 2004-2005, Guenter Obiltschnig/Applied Informatics.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// 1. Redistributions of source code must retain the above copyright
//    notice, this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
//    notice, this list of conditions and the following disclaimer in the
//    documentation and/or other materials provided with the distribution.
//
// 3. Redistributions in any form must be accompanied by information on
//    how to obtain complete source code for this software and any
//    accompanying software that uses this software.  The source code
//    must either be included in the distribution or be available for no
//    more than the cost of distribution plus a nominal fee, and must be
//    freely redistributable under reasonable conditions.  For an
//    executable file, complete source code means the source code for all
//    modules it contains.  It does not include source code for modules or
//    files that typically accompany the major components of the operating
//    system on which the executable file runs.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//


#include "Util/PropertyFileConfiguration.h"
#include "Foundation/Exception.h"
#include "Foundation/String.h"
#include <fstream>
#include <locale>


using Foundation::trim;


Util_BEGIN


PropertyFileConfiguration::PropertyFileConfiguration()
{
}


PropertyFileConfiguration::PropertyFileConfiguration(std::istream& istr)
{
	load(istr);
}

	
PropertyFileConfiguration::PropertyFileConfiguration(const std::string& path)
{
	load(path);
}


PropertyFileConfiguration::~PropertyFileConfiguration()
{
}

	
void PropertyFileConfiguration::load(std::istream& istr)
{
	clear();
	while (!istr.eof())
	{
		parseLine(istr);
	}
}

	
void PropertyFileConfiguration::load(const std::string& path)
{
	std::ifstream istr(path.c_str());
	if (istr.good())
		load(istr);
	else
		throw Foundation::OpenFileException(path);
}


void PropertyFileConfiguration::save(std::ostream& ostr) const
{
	MapConfiguration::iterator it = begin();
	MapConfiguration::iterator ed = end();
	while (it != ed)
	{
		ostr << it->first << ": " << it->second << "\n";
		++it;
	}
}


void PropertyFileConfiguration::save(const std::string& path) const
{
	std::ofstream ostr(path.c_str());
	if (ostr.good())
	{
		save(ostr);
		ostr.flush();
		if (!ostr.good()) throw Foundation::WriteFileException(path);
	}
	else throw Foundation::CreateFileException(path);
}


void PropertyFileConfiguration::parseLine(std::istream& istr)
{
	static const int eof = std::char_traits<char>::eof(); 
	std::locale loc;

	int c = istr.get();
	while (c != eof && isspace((char) c, loc)) c = istr.get();
	if (c != eof)
	{
		if (c == '#' || c == '!')
		{
			while (c != eof && c != '\n' && c != '\r') c = istr.get();
		}
		else
		{
			std::string key;
			while (c != eof && c != '=' && c != ':' && c != '\r' && c != '\n') { key += (char) c; c = istr.get(); }
			std::string value;
			if (c == '=' || c == ':')
			{
				c = readChar(istr);
				while (c != eof && c) { value += (char) c; c = readChar(istr); }
			}
			setRaw(trim(key), trim(value));
		}
	}
}


int PropertyFileConfiguration::readChar(std::istream& istr)
{
	int c = istr.get();
	if (c == '\\')
	{
		c = istr.get();
		switch (c)
		{
		case 't':
			return '\t';
		case 'r':
			return '\r';
		case 'n':
			return '\n';
		case 'f':
			return '\f';
		case '\r':
			if (istr.peek() == '\n')
				istr.get();
			return ' ';
		case '\n':
			return ' ';
		default:
			return c;
		}
	}
	else if (c == '\n' || c == '\r')
		return 0;
	else
		return c;
}


Util_END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久岛一牛影视| 久久国产精品无码网站| 日韩电影免费在线看| 国产a视频精品免费观看| 欧美色综合影院| 久久精品男人天堂av| 性久久久久久久久久久久| 成人av网站在线| 亚洲精品一线二线三线| 亚洲电影中文字幕在线观看| 国产aⅴ精品一区二区三区色成熟| 欧美日韩一区二区三区高清| 亚洲视频在线观看一区| 国产美女av一区二区三区| 6080午夜不卡| 亚洲一区二区三区美女| 国产mv日韩mv欧美| 久久久综合精品| 精品一区二区在线播放| 欧美日韩国产综合视频在线观看 | 亚洲欧美综合另类在线卡通| 久久精品免费观看| 9191成人精品久久| 亚洲国产成人av网| 欧美中文字幕亚洲一区二区va在线| 亚洲欧洲日产国码二区| 成人美女在线观看| 国产欧美一区二区精品婷婷| 狠狠网亚洲精品| 久久一日本道色综合| 激情综合色丁香一区二区| 精品久久人人做人人爰| 青青草国产精品97视觉盛宴| 6080日韩午夜伦伦午夜伦| 日本免费新一区视频| 日韩三级av在线播放| 久久精品久久精品| 久久综合九色综合97婷婷| 国产在线视频一区二区三区| 久久亚洲精品小早川怜子| 国产精品小仙女| 亚洲天堂精品在线观看| 在线观看国产精品网站| 亚洲一区二区三区国产| 91精品国产91热久久久做人人| 石原莉奈一区二区三区在线观看| 51精品久久久久久久蜜臀| 蜜臀av一级做a爰片久久| 精品久久国产97色综合| 国产精品香蕉一区二区三区| 国产精品素人视频| 色综合久久久久综合99| 性久久久久久久久| 久久综合狠狠综合| 99精品国产视频| 婷婷国产在线综合| 欧美mv日韩mv国产网站| 成人一级视频在线观看| 一区二区三区中文字幕精品精品 | 精品国免费一区二区三区| 国产一区二区精品久久91| 国产精品不卡视频| 99久久久免费精品国产一区二区 | 国产精品久久久久精k8 | 大胆欧美人体老妇| 亚洲精品日韩一| 精品欧美久久久| 97久久超碰国产精品| 亚洲国产综合在线| 国产视频一区二区三区在线观看| 91丝袜美腿高跟国产极品老师| 日韩综合小视频| 欧美激情一区二区三区在线| 99r精品视频| 精品一区二区日韩| 亚洲色图另类专区| 精品国产一区二区亚洲人成毛片| 成人黄色一级视频| 美女mm1313爽爽久久久蜜臀| 亚洲欧美日韩综合aⅴ视频| 日韩欧美在线影院| 色综合久久久久| 国产做a爰片久久毛片| 一区二区三区国产精华| 国产亚洲精品久| 欧美精品日韩一本| 99视频有精品| 国产九色sp调教91| 日本不卡视频在线| 亚洲欧美偷拍三级| 国产精品乱码一区二区三区软件| 欧美一区二区三区系列电影| 91在线视频在线| 国产精品88av| 精品亚洲欧美一区| 日韩国产高清影视| 亚洲精品少妇30p| 亚洲欧美在线高清| 欧美激情一区二区三区| 久久综合九色欧美综合狠狠| 欧美一区二区三区日韩视频| 日本韩国精品一区二区在线观看| 成人av片在线观看| 成人一区在线观看| 成人丝袜18视频在线观看| 国模少妇一区二区三区| 免费高清在线一区| 免费一级片91| 偷拍日韩校园综合在线| 亚洲国产你懂的| 亚洲在线视频一区| 亚洲一区免费视频| 一区二区高清在线| 亚洲午夜久久久久久久久电影院| 亚洲三级电影全部在线观看高清| 欧美国产综合一区二区| 欧美激情在线一区二区三区| 久久精品欧美日韩| 中文字幕一区二区视频| 亚洲视频在线观看一区| 亚洲精品欧美专区| 午夜久久久久久久久久一区二区| 亚洲成人一区在线| 免费看欧美美女黄的网站| 久久国产尿小便嘘嘘尿| 国产精品自拍网站| 粉嫩绯色av一区二区在线观看| 成人sese在线| 欧美在线观看18| 欧美日产国产精品| 日韩欧美在线网站| 久久精品水蜜桃av综合天堂| 国产拍揄自揄精品视频麻豆| 中文字幕综合网| 亚洲18色成人| 国产真实乱偷精品视频免| 国产传媒一区在线| 91福利社在线观看| 日韩欧美一区二区免费| 久久久精品2019中文字幕之3| 亚洲国产电影在线观看| 亚洲卡通动漫在线| 免费在线观看一区二区三区| 国产一区二区免费看| jlzzjlzz亚洲女人18| 欧美在线免费播放| 亚洲精品一区二区三区香蕉| 国产精品久久久久久久久晋中| 一区二区三区四区精品在线视频| 日本人妖一区二区| av资源网一区| 欧美一区二区视频网站| 中文字幕第一区第二区| 日韩黄色免费网站| 国产·精品毛片| 欧美日韩精品系列| 欧美国产一区二区在线观看| 婷婷综合五月天| 97久久超碰国产精品| 91精品国产麻豆国产自产在线| 欧美激情中文字幕一区二区| 午夜一区二区三区视频| 成人禁用看黄a在线| 色综合天天综合色综合av | 久久欧美一区二区| 亚洲精选一二三| 国产尤物一区二区在线| 欧美在线短视频| 综合自拍亚洲综合图不卡区| 久久精品国产**网站演员| 色综合久久精品| 国产精品免费网站在线观看| 蜜臀av一区二区在线免费观看| 色av成人天堂桃色av| 久久久99久久| 奇米影视一区二区三区小说| 91影院在线免费观看| 国产色综合一区| 国产一区欧美日韩| 欧美一区二区三区啪啪| 一区二区三区四区乱视频| 成人性生交大片免费看中文| www成人在线观看| 久久国产精品无码网站| 欧美一级片在线看| 亚洲成a人片在线观看中文| 一本久久综合亚洲鲁鲁五月天| 久久精品水蜜桃av综合天堂| 精品中文字幕一区二区| 欧美一区二区人人喊爽| 五月婷婷激情综合网| 欧洲精品一区二区| 亚洲精品综合在线| 91麻豆免费看| 一区二区三区欧美亚洲| 日本精品一区二区三区四区的功能| 国产精品第13页| 99久久er热在这里只有精品15| 国产精品美女一区二区在线观看| 国产不卡视频在线播放|