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

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

?? iom_utilities.cpp

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? CPP
字號:
/* This file is part of the iom project. * For more information, please see <http://www.interlis.ch>. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA *//** @file * implementation of utility functions * @defgroup utilities utility functions * @{ */#include <iostream>#include <string>#include <string.h>#include <iom/iom_p.h>#include <sys/types.h>#include <sys/stat.h>#ifdef _MSC_VER#define stat _stat#else#include <unistd.h>#endif#ifndef _MSC_VER#include <stdlib.h>#include <string.h>#define PATHSEP ':'/*  _searchenv is a function provided by the MSVC library that finds  files which may be anywhere along a path which appears in an  environment variable.*/static void _searchenv(const char *name, const char *envname, char *hitfile){	// Default failure indication	*hitfile = '\0';	// If the given name is absolute, then don't search the	//   path, but use it as is.	if(#ifdef WIN32		strchr(name, ':') != NULL || // Contain a drive spec? 		name[0] == '\\' ||		// Start with absolute ref? #endif		name[0] == '/')			// Start with absolute ref?	{		// Copy to target		strcpy(hitfile, name);			return;	}	char *cp;	cp = getenv(envname);	if(cp == NULL){		// Variable not defined, no search.		return;		}	while(*cp)	{		*hitfile = '\0';		char *concat;		concat=hitfile;		// skip PATHSEP (and empty entries)		while(*cp && *cp==PATHSEP){			cp++;		}		// copy path		while(*cp && *cp!=PATHSEP){			*concat=*cp;			cp++;			concat++;		}		// end of variable value reached?		if(concat==hitfile){			// file not found			*hitfile = '\0';			return;		}		// does no trailing '/' exists?		if(*(concat-1) != '/' && *(concat-1) != '\\'){			// append it			*concat='/';			concat++;		}		// append file name		strcpy(concat, name);		// does file exist?		if(iom_fileexists(hitfile))		{			// file found			return;		}	}	// file not found	*hitfile = '\0';}#endifstatic char *tmpdir=0;static XMLTranscoder *utf8_transcoder=0;/** Perform iom library initialization. */extern "C" void iom_init(){	//__asm { int 3 };	try {           XMLPlatformUtils::Initialize();    }    catch (const XMLException& toCatch) {        char* message = XMLString::transcode(toCatch.getMessage());		iom_issueerr(message);        XMLString::release(&message);        return;    }    XMLTransService::Codes resCode;    utf8_transcoder = XMLPlatformUtils::fgTransService->makeNewTranscoderFor    (        "UTF-8"        , resCode        , 16 * 1024    );	tags::clear();}/** transcode a xerces unicode string to an utf8 encoded one.*/char *iom_toUTF8(const XMLCh *src){	unsigned int srcLen=XMLString::stringLen(src);	int destLen=srcLen+10;	char *dest;	dest=dbgnew char[destLen+1];	unsigned int eaten;	unsigned int endDest;	endDest=utf8_transcoder->transcodeTo(src,srcLen,(unsigned char *)dest,destLen,eaten,XMLTranscoder::UnRep_RepChar);	while(eaten<srcLen){		delete[] dest;		destLen=destLen+srcLen-eaten+10;		dest=dbgnew char[destLen+1];		endDest=utf8_transcoder->transcodeTo(src,srcLen,(unsigned char *)dest,destLen,eaten,XMLTranscoder::UnRep_RepChar);	}	dest[endDest]=0;	return dest;}/** transcode an utf8 encoded string to a xerces unicode one.*/XMLCh *iom_fromUTF8(const char *src){	int srcLen=XMLString::stringLen(src);	int destLen=srcLen;	XMLCh *dest=dbgnew XMLCh[destLen+1];	unsigned char *charSizes=dbgnew unsigned char[destLen];	unsigned int eaten;	unsigned int endDest=utf8_transcoder->transcodeFrom((unsigned char *)src,srcLen,dest,destLen,eaten,charSizes);	dest[endDest]=0;	delete[] charSizes;	return dest;}/** Perform iom library termination. */extern "C" void iom_end(){	ParserHandler::at_iom_end();	ErrorUtility::at_iom_end();	tags::clear();	XMLPlatformUtils::Terminate();}/** sets the directory where iom writes temporary files. */extern "C" void iom_settmpdir(const char *dirname){	if(tmpdir)free(tmpdir);	tmpdir=strdup(dirname);}/** creates a temporary filename. * The caller should free the returned buffer. */extern "C" char *iom_gettmpnam(){#ifdef _MSC_VER	return _tempnam(tmpdir,"iom");#else	return tempnam(tmpdir,"iom");#endif}/** Searches for a file in *  a directory specified by an environment variable. * Returns 0 if file not found. * Returns a pointer to a static buffer. */extern "C" char *iom_searchenv(const char *filename, const char *varname){	static char pathbuffer[IOM_PATH_MAX];	_searchenv( filename, varname, pathbuffer );	if( *pathbuffer != '\0' ){		return pathbuffer;	}	// file not found	return 0;}/** Tests if a file exists. * Returns !0 if file exists. */extern "C" int iom_fileexists(const char *filename){	struct stat info;	// does file exist?	if(!stat(filename, &info))	{		// file found		return true;	}	return false;}/** Returns the current time in milliseconds. */extern "C" unsigned long iom_currentmilis(){	return XMLPlatformUtils::getCurrentMillis();}/** * @} */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美本精品男人aⅴ天堂| 亚洲妇熟xx妇色黄| 偷拍与自拍一区| 成人午夜视频福利| 日韩精品一区二区三区在线播放 | 成人午夜私人影院| 在线不卡欧美精品一区二区三区| 国产无人区一区二区三区| 亚洲国产cao| 99亚偷拍自图区亚洲| 日韩一区二区电影在线| 亚洲国产sm捆绑调教视频 | 久久99精品国产91久久来源| 91久久精品日日躁夜夜躁欧美| 久久美女高清视频| 青青国产91久久久久久 | 成人国产精品视频| 久久影视一区二区| 美女脱光内衣内裤视频久久网站 | 日本特黄久久久高潮| 色婷婷久久一区二区三区麻豆| 国产欧美日韩不卡免费| 国产原创一区二区三区| 欧美一区二区三区日韩视频| 性做久久久久久免费观看 | 成人av集中营| 中文字幕不卡在线播放| 韩国欧美国产一区| 精品日韩一区二区三区免费视频| 天天色图综合网| 欧美日韩久久久一区| 亚洲国产中文字幕在线视频综合| 91美女福利视频| 亚洲精品网站在线观看| 99国产精品久| 亚洲男人电影天堂| 欧亚一区二区三区| 亚洲成av人片| 欧美一级日韩免费不卡| 日韩1区2区日韩1区2区| 欧美一区欧美二区| 久久99热这里只有精品| 精品国产一区二区三区四区四| 久久99精品国产.久久久久| 久久噜噜亚洲综合| 成人app在线观看| 亚洲情趣在线观看| 欧美日韩免费电影| 麻豆专区一区二区三区四区五区| 亚洲精品一区二区三区香蕉| 韩国三级在线一区| 成人欧美一区二区三区1314 | 国产精品一卡二卡在线观看| 欧美激情一区二区三区四区 | 高清成人在线观看| 亚洲另类一区二区| 91精品视频网| 韩日精品视频一区| 亚洲免费在线看| 5566中文字幕一区二区电影| 韩国女主播成人在线| 亚洲女女做受ⅹxx高潮| 欧美一区二区三区喷汁尤物| 国产盗摄女厕一区二区三区| 亚洲欧美一区二区三区孕妇| 91精品国产综合久久精品麻豆| 91啪亚洲精品| 亚洲va中文字幕| 久久蜜桃香蕉精品一区二区三区| 日本精品一区二区三区四区的功能| 日韩不卡一区二区三区| 国产精品久久久久影院色老大| 欧美日韩国产一级| 国产成人在线看| 日韩vs国产vs欧美| 成人欧美一区二区三区视频网页 | 欧美日韩成人综合天天影院| 国产精品自拍毛片| 亚洲成人精品在线观看| 久久精品在这里| 91精品久久久久久久91蜜桃| 91污在线观看| 国产毛片精品视频| 日本美女视频一区二区| 亚洲理论在线观看| 国产免费久久精品| 欧美电影免费提供在线观看| 色国产综合视频| 成人avav影音| 国产麻豆精品theporn| 亚洲成人午夜电影| 亚洲欧美激情小说另类| 国产亚洲成年网址在线观看| 欧美精品aⅴ在线视频| 色综合久久久久综合体| 国产精品综合二区| 美女国产一区二区三区| 性做久久久久久| 亚洲影视在线观看| 亚洲蜜臀av乱码久久精品| 国产日韩欧美在线一区| 精品福利一区二区三区| 欧美一区二区三区性视频| 欧美综合亚洲图片综合区| 一本在线高清不卡dvd| 成人成人成人在线视频| 成人久久18免费网站麻豆| 国产风韵犹存在线视精品| 国产一区二区三区久久悠悠色av| 另类小说色综合网站| 蜜桃传媒麻豆第一区在线观看| 婷婷开心激情综合| 天天射综合影视| 日本伊人午夜精品| 蜜臀av一区二区三区| 奇米影视一区二区三区小说| 日本在线观看不卡视频| 免费一级片91| 精品无人码麻豆乱码1区2区| 久久精品99国产精品日本| 日韩成人免费在线| 久久不见久久见中文字幕免费| 久久精品国产一区二区| 国精产品一区一区三区mba桃花| 韩国三级在线一区| 不卡视频在线观看| 色综合一区二区| 欧美色图在线观看| 日韩视频一区二区三区在线播放 | 国产精品全国免费观看高清 | 国产色婷婷亚洲99精品小说| 欧美激情一二三区| 一区在线中文字幕| 亚洲成人你懂的| 美女mm1313爽爽久久久蜜臀| 国产伦精一区二区三区| 99re6这里只有精品视频在线观看| 97精品国产露脸对白| 欧美三级电影在线观看| 欧美大黄免费观看| 中文字幕乱码久久午夜不卡| 亚洲精品成人精品456| 日本不卡视频在线观看| 国产成人免费在线视频| 色噜噜偷拍精品综合在线| 欧美一激情一区二区三区| 久久你懂得1024| 夜夜夜精品看看| 国产一区在线不卡| 在线视频一区二区三| 精品国产91乱码一区二区三区 | 五月婷婷久久丁香| 国产美女视频91| 精品视频一区二区三区免费| 久久伊人中文字幕| 亚洲小说欧美激情另类| 国产精品亚洲а∨天堂免在线| 在线国产亚洲欧美| 国产欧美一区二区精品性| 午夜a成v人精品| 成人中文字幕在线| 4hu四虎永久在线影院成人| 中文字幕一区二区三区在线播放| 午夜精品视频在线观看| 99久久免费视频.com| 欧美v国产在线一区二区三区| 亚洲精品国产一区二区三区四区在线 | 三级在线观看一区二区| 国产不卡免费视频| 日韩精品最新网址| 亚洲午夜精品网| 97se亚洲国产综合自在线不卡| 精品国产网站在线观看| 天天av天天翘天天综合网| av在线一区二区三区| 精品日本一线二线三线不卡| 艳妇臀荡乳欲伦亚洲一区| 欧美一区二区在线看| 亚洲三级在线免费观看| 日本成人超碰在线观看| 成人午夜视频在线| 久久久噜噜噜久噜久久综合| 免费观看在线色综合| 精品视频资源站| 一区二区三区日韩欧美| 99久久久国产精品| 中文字幕乱码亚洲精品一区| 国产精品911| 精品国产91乱码一区二区三区| 奇米一区二区三区| 日韩亚洲欧美在线观看| 日韩中文字幕1| 欧美高清hd18日本| 亚洲国产cao| 欧美精品在线视频| 五月天欧美精品| 制服丝袜一区二区三区| 免费在线观看一区二区三区| 欧美一区二区黄色| 美女网站一区二区|