00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 00029 00030 00031 00031 00031 00031 00032 00033 00034 00035 00036 00037 00038 00039 00040 00041 00042 00043 00044 00045 00046 00047 00048 00049 00050 00051 00052 00053
00054
00055 #ifndef _CPL_STRING_H_INCLUDED
00056 #define _CPL_STRING_H_INCLUDED
00057
00058 #include "cpl_vsi.h"
00059 #include "cpl_error.h"
00060 #include "cpl_conv.h"
00061
00062 00063 00064
00065 CPL_C_START
00066
00067 char CPL_DLL **CSLAddString(char **papszStrList, const char *pszNewString);
00068 int CPL_DLL CSLCount(char **papszStrList);
00069 const char CPL_DLL *CSLGetField( char **, int );
00070 void CPL_DLL CSLDestroy(char **papszStrList);
00071 char CPL_DLL **CSLDuplicate(char **papszStrList);
00072
00073 char CPL_DLL **CSLTokenizeString(const char *pszString );
00074 char CPL_DLL **CSLTokenizeStringComplex(const char *pszString,
00075 const char *pszDelimiter,
00076 int bHonourStrings, int bAllowEmptyTokens );
00077
00078 int CPL_DLL CSLPrint(char **papszStrList, FILE *fpOut);
00079 char CPL_DLL **CSLLoad(const char *pszFname);
00080 int CPL_DLL CSLSave(char **papszStrList, const char *pszFname);
00081
00082 char CPL_DLL **CSLInsertStrings(char **papszStrList, int nInsertAtLineNo,
00083 char **papszNewLines);
00084 char CPL_DLL **CSLInsertString(char **papszStrList, int nInsertAtLineNo,
00085 char *pszNewLine);
00086 char CPL_DLL **CSLRemoveStrings(char **papszStrList, int nFirstLineToDelete,
00087 int nNumToRemove, char ***ppapszRetStrings);
00088 int CPL_DLL CSLFindString( char **, const char * );
00089
00090 const char CPL_DLL *CPLSPrintf(char *fmt, ...);
00091 char CPL_DLL **CSLAppendPrintf(char **papszStrList, char *fmt, ...);
00092
00093 const char CPL_DLL *
00094 CPLParseNameValue(const char *pszNameValue, char **ppszKey );
00095 const char CPL_DLL *
00096 CSLFetchNameValue(char **papszStrList, const char *pszName);
00097 char CPL_DLL **
00098 CSLFetchNameValueMultiple(char **papszStrList, const char *pszName);
00099 char CPL_DLL **
00100 CSLAddNameValue(char **papszStrList,
00101 const char *pszName, const char *pszValue);
00102 char CPL_DLL **
00103 CSLSetNameValue(char **papszStrList,
00104 const char *pszName, const char *pszValue);
00105 void CPL_DLL CSLSetNameValueSeparator( char ** papszStrList,
00106 const char *pszSeparator );
00107
00108 CPL_C_END
00109
00110 #endif