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

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

?? cpl_string.h

?? mitab,讀取MapInfo的地圖文件
?? H
字號:
/**********************************************************************
 * $Id: cpl_string.h 11196 2007-04-03 23:18:17Z mloskot $
 *
 * Name:     cpl_string.h
 * Project:  CPL - Common Portability Library
 * Purpose:  String and StringList functions.
 * Author:   Daniel Morissette, danmo@videotron.ca
 *
 **********************************************************************
 * Copyright (c) 1998, Daniel Morissette
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 * DEALINGS IN THE SOFTWARE.
 ****************************************************************************/

#ifndef _CPL_STRING_H_INCLUDED
#define _CPL_STRING_H_INCLUDED

#include "cpl_vsi.h"
#include "cpl_error.h"
#include "cpl_conv.h"

/**
 * \file cpl_string.h
 *
 * Various convenience functions for working with strings and string lists. 
 *
 * A StringList is just an array of strings with the last pointer being
 * NULL.  An empty StringList may be either a NULL pointer, or a pointer to
 * a pointer memory location with a NULL value.
 *
 * A common convention for StringLists is to use them to store name/value
 * lists.  In this case the contents are treated like a dictionary of
 * name/value pairs.  The actual data is formatted with each string having
 * the format "<name>:<value>" (though "=" is also an acceptable separator). 
 * A number of the functions in the file operate on name/value style
 * string lists (such as CSLSetNameValue(), and CSLFetchNameValue()). 
 *
 */

CPL_C_START

char CPL_DLL **CSLAddString(char **papszStrList, const char *pszNewString);
int CPL_DLL CSLCount(char **papszStrList);
const char CPL_DLL *CSLGetField( char **, int );
void CPL_DLL CPL_STDCALL CSLDestroy(char **papszStrList);
char CPL_DLL **CSLDuplicate(char **papszStrList);
char CPL_DLL **CSLMerge( char **papszOrig, char **papszOverride );

char CPL_DLL **CSLTokenizeString(const char *pszString );
char CPL_DLL **CSLTokenizeStringComplex(const char *pszString,
                                   const char *pszDelimiter,
                                   int bHonourStrings, int bAllowEmptyTokens );
char CPL_DLL **CSLTokenizeString2( const char *pszString, 
                                   const char *pszDelimeter, 
                                   int nCSLTFlags );

#define CSLT_HONOURSTRINGS      0x0001
#define CSLT_ALLOWEMPTYTOKENS   0x0002
#define CSLT_PRESERVEQUOTES     0x0004
#define CSLT_PRESERVEESCAPES    0x0008

int CPL_DLL CSLPrint(char **papszStrList, FILE *fpOut);
char CPL_DLL **CSLLoad(const char *pszFname);
int CPL_DLL CSLSave(char **papszStrList, const char *pszFname);

char CPL_DLL **CSLInsertStrings(char **papszStrList, int nInsertAtLineNo, 
                         char **papszNewLines);
char CPL_DLL **CSLInsertString(char **papszStrList, int nInsertAtLineNo, 
                               const char *pszNewLine);
char CPL_DLL **CSLRemoveStrings(char **papszStrList, int nFirstLineToDelete,
                         int nNumToRemove, char ***ppapszRetStrings);
int CPL_DLL CSLFindString( char **, const char * );
int CPL_DLL CSLTestBoolean( const char *pszValue );
int CPL_DLL CSLFetchBoolean( char **papszStrList, const char *pszKey, 
                             int bDefault );

const char CPL_DLL *CPLSPrintf(const char *fmt, ...);
char CPL_DLL **CSLAppendPrintf(char **papszStrList, char *fmt, ...);

const char CPL_DLL *
      CPLParseNameValue(const char *pszNameValue, char **ppszKey );
const char CPL_DLL *
      CSLFetchNameValue(char **papszStrList, const char *pszName);
char CPL_DLL **
      CSLFetchNameValueMultiple(char **papszStrList, const char *pszName);
char CPL_DLL **
      CSLAddNameValue(char **papszStrList, 
                      const char *pszName, const char *pszValue);
char CPL_DLL **
      CSLSetNameValue(char **papszStrList, 
                      const char *pszName, const char *pszValue);
void CPL_DLL CSLSetNameValueSeparator( char ** papszStrList, 
                                       const char *pszSeparator );

#define CPLES_BackslashQuotable 0
#define CPLES_XML               1
#define CPLES_URL               2   /* unescape only for now */
#define CPLES_SQL               3
#define CPLES_CSV               4

char CPL_DLL *CPLEscapeString( const char *pszString, int nLength, 
                               int nScheme );
char CPL_DLL *CPLUnescapeString( const char *pszString, int *pnLength,
                                 int nScheme );

char CPL_DLL *CPLBinaryToHex( int nBytes, const GByte *pabyData );
GByte CPL_DLL *CPLHexToBinary( const char *pszHex, int *pnBytes );

CPL_C_END

/************************************************************************/
/*                              CPLString                               */
/************************************************************************/

#ifdef __cplusplus

#include <string>

/*
 * Simple trick to avoid "using" declaration in header for new compilers
 * but make it still working with old compilers which throw C2614 errors.
 *
 * Define MSVC_OLD_STUPID_BEHAVIOUR
 * for old compilers: VC++ 5 and 6 as well as eVC++ 3 and 4.
 */

/*
 * Detect old MSVC++ compiler <= 6.0
 * 1200 - VC++ 6.0
 * 1200-1202 - eVC++ 4.0
 */
#if (_MSC_VER <= 1202)
#  define MSVC_OLD_STUPID_BEHAVIOUR
#endif
 

/* Avoid C2614 errors */
#ifdef MSVC_OLD_STUPID_BEHAVIOUR
    using std::string;
# define std_string string
#else
# define std_string std::string
#endif 

/* Remove annoying warnings in Microsoft eVC++ and Microsoft Visual C++ */
#if defined(WIN32CE)
#  pragma warning(disable:4251 4275 4786)
#endif




class CPL_DLL CPLString : public std_string
{
public:
    
    CPLString(void) {}
    CPLString( const std::string &oStr ) : std_string( oStr ) {}
    CPLString( const char *pszStr ) : std_string( pszStr ) {}
    
    operator const char* (void) const { return c_str(); }

    CPLString &Printf( const char *pszFormat, ... );
    CPLString &vPrintf( const char *pszFormat, va_list args );
    CPLString &Trim();
};

#endif /* def __cplusplus */

#endif /* _CPL_STRING_H_INCLUDED */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区性放荡片| 91丨九色丨尤物| 精品毛片乱码1区2区3区 | 欧美丰满美乳xxx高潮www| 亚洲一区在线电影| 91麻豆精品国产综合久久久久久| 香蕉乱码成人久久天堂爱免费| 欧美日韩一区 二区 三区 久久精品| 午夜国产精品影院在线观看| 日韩一区国产二区欧美三区| 激情深爱一区二区| 国产精品午夜电影| 日本高清视频一区二区| 午夜视频一区二区| 26uuu国产日韩综合| av一区二区久久| 午夜欧美一区二区三区在线播放| 91精品国产综合久久久久久| 国产在线播放一区二区三区| 国产精品久久久久一区二区三区 | 欧美日韩国产中文| 免费看欧美女人艹b| 亚洲国产成人自拍| 欧美手机在线视频| 国产成人亚洲综合a∨婷婷图片 | 欧美日免费三级在线| 蜜乳av一区二区| 中文字幕一区二区三区色视频| 欧美日韩在线三级| 国产精品18久久久久久久久久久久| 一区二区三区在线观看欧美| 欧美va亚洲va香蕉在线| 色系网站成人免费| 激情五月播播久久久精品| 亚洲综合男人的天堂| 精品成人私密视频| 欧美性生活久久| 国产a精品视频| 美女任你摸久久| 亚洲人成小说网站色在线 | 国内精品第一页| 亚洲成人在线免费| 中文字幕亚洲成人| 日韩精品一区二区三区中文精品| 91搞黄在线观看| 国产·精品毛片| 日韩国产精品久久久| 国产精品美女久久久久久久久 | 最新国产成人在线观看| 26uuu久久综合| 欧美精品一二三| 色综合久久九月婷婷色综合| 国产精品一区一区三区| 视频一区国产视频| 亚洲午夜三级在线| 亚洲精品视频一区二区| 国产色婷婷亚洲99精品小说| 精品日韩在线观看| 欧美一级精品在线| 欧美精品18+| 在线免费观看日本欧美| 成人avav影音| 国产精品影视网| 精品一二三四在线| 首页综合国产亚洲丝袜| 亚洲综合免费观看高清完整版| 国产精品久久久久久户外露出 | 亚洲v日本v欧美v久久精品| 国产精品你懂的| 久久色在线观看| 日韩精品中文字幕在线不卡尤物| 91精品国产日韩91久久久久久| 欧美三级日本三级少妇99| 欧美天天综合网| 欧美性受xxxx黑人xyx性爽| 欧美天堂亚洲电影院在线播放| 在线观看亚洲精品| 欧美亚洲国产一区二区三区va| 色哟哟精品一区| 欧美日韩一二三区| 4hu四虎永久在线影院成人| 91精品国产综合久久香蕉麻豆| 欧美美女视频在线观看| 欧美浪妇xxxx高跟鞋交| 91麻豆精品91久久久久久清纯| 欧美人与禽zozo性伦| 91精品国产高清一区二区三区蜜臀 | 欧美一区欧美二区| 欧美一级日韩免费不卡| 欧美xingq一区二区| 国产丝袜在线精品| 国产精品毛片久久久久久| 综合久久给合久久狠狠狠97色| 亚洲三级在线看| 亚洲高清免费在线| 蜜桃一区二区三区在线| 国产精品99久久久久久似苏梦涵 | 久久精品久久99精品久久| 久久99精品国产.久久久久久| 国产一区二区精品久久91| 岛国一区二区三区| 色中色一区二区| 精品视频在线看| 91精品国产福利| 国产日韩欧美精品综合| 亚洲欧美精品午睡沙发| 亚洲chinese男男1069| 久久精品免费观看| heyzo一本久久综合| 欧美午夜精品一区二区蜜桃| 欧美成人综合网站| 亚洲三级免费观看| 久久激情五月激情| 99久久国产综合精品色伊| 69av一区二区三区| 日本一区二区三区dvd视频在线| 亚洲午夜免费福利视频| 国产尤物一区二区| 欧美亚洲尤物久久| 久久精品视频在线看| 精品成a人在线观看| 欧美视频自拍偷拍| 国产精品久久久久桃色tv| 欧美一级片在线看| 国产精品情趣视频| 亚洲国产日韩综合久久精品| 韩国女主播成人在线观看| 色婷婷久久久久swag精品| 欧美成人a∨高清免费观看| 国产精品灌醉下药二区| 男人的天堂久久精品| 91热门视频在线观看| 精品国产乱码久久久久久牛牛| 亚洲精选一二三| 国产高清不卡一区| 91麻豆精品国产91久久久使用方法 | 韩国女主播成人在线观看| 精品国产精品一区二区夜夜嗨| 国产精品久久久久久久蜜臀| 免费精品视频最新在线| 色视频成人在线观看免| 国产日韩欧美一区二区三区乱码| 婷婷综合久久一区二区三区| 成人高清视频在线| 久久蜜桃av一区二区天堂 | 欧美精品一区二区三区蜜桃| 亚洲一级在线观看| 色综合久久中文综合久久牛| 国产欧美精品一区aⅴ影院| 男女男精品视频| 欧美日韩国产123区| 亚洲精品免费在线| www.66久久| 国产精品网站导航| 国产成人av一区二区三区在线观看| 欧美变态口味重另类| 奇米综合一区二区三区精品视频| 欧美色综合网站| 亚洲午夜av在线| 在线观看一区日韩| 亚洲综合在线第一页| 日本丰满少妇一区二区三区| 亚洲视频你懂的| aaa亚洲精品一二三区| 国产精品的网站| av欧美精品.com| 中文字幕亚洲成人| 色屁屁一区二区| 亚洲一本大道在线| 在线播放91灌醉迷j高跟美女| 亚洲成a人片在线不卡一二三区| 在线观看成人小视频| 亚洲高清免费观看高清完整版在线观看 | 国内精品国产成人| 久久久99久久| 成人精品视频网站| 综合激情成人伊人| 欧美性生活一区| 日本成人在线视频网站| 精品免费视频.| 高清av一区二区| 亚洲图片激情小说| 欧美欧美欧美欧美首页| 蜜桃久久久久久| 国产网站一区二区| 色av一区二区| 日韩中文字幕av电影| 精品乱人伦一区二区三区| 成人黄色a**站在线观看| 夜夜精品浪潮av一区二区三区| 欧美日韩一区精品| 精品一区二区三区蜜桃| 欧美激情中文字幕一区二区| 99久久精品免费看国产| 天天色 色综合| 久久久不卡网国产精品一区| 91色视频在线| 免费成人在线观看视频| 中文一区在线播放| 欧美日韩极品在线观看一区|