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 #ifndef _CPL_STRING_H_INCLUDED
00053 #define _CPL_STRING_H_INCLUDED
00054
00055 #include "cpl_vsi.h"
00056 #include "cpl_error.h"
00057 #include "cpl_conv.h"
00058
00059 00060 00061
00062 CPL_C_START
00063
00064 char CPL_DLL **CSLAddString(char **papszStrList, const char *pszNewString);
00065 int CPL_DLL CSLCount(char **papszStrList);
00066 const char CPL_DLL *CSLGetField( char **, int );
00067 void CPL_DLL CSLDestroy(char **papszStrList);
00068 char CPL_DLL **CSLDuplicate(char **papszStrList);
00069
00070 char CPL_DLL **CSLTokenizeString(const char *pszString );
00071 char CPL_DLL **CSLTokenizeStringComplex(const char *pszString,
00072 const char *pszDelimiter,
00073 int bHonourStrings, int bAllowEmptyTokens );
00074
00075 int CPL_DLL CSLPrint(char **papszStrList, FILE *fpOut);
00076 char CPL_DLL **CSLLoad(const char *pszFname);
00077 int CPL_DLL CSLSave(char **papszStrList, const char *pszFname);
00078
00079 char CPL_DLL **CSLInsertStrings(char **papszStrList, int nInsertAtLineNo,
00080 char **papszNewLines);
00081 char CPL_DLL **CSLInsertString(char **papszStrList, int nInsertAtLineNo,
00082 char *pszNewLine);
00083 char CPL_DLL **CSLRemoveStrings(char **papszStrList, int nFirstLineToDelete,
00084 int nNumToRemove, char ***ppapszRetStrings);
00085 int CPL_DLL CSLFindString( char **, const char * );
00086
00087 const char CPL_DLL *CPLSPrintf(char *fmt, ...);
00088 char CPL_DLL **CSLAppendPrintf(char **papszStrList, char *fmt, ...);
00089
00090 const char CPL_DLL *
00091 CPLParseNameValue(const char *pszNameValue, char **ppszKey );
00092 const char CPL_DLL *
00093 CSLFetchNameValue(char **papszStrList, const char *pszName);
00094 char CPL_DLL **
00095 CSLFetchNameValueMultiple(char **papszStrList, const char *pszName);
00096 char CPL_DLL **
00097 CSLAddNameValue(char **papszStrList,
00098 const char *pszName, const char *pszValue);
00099 char CPL_DLL **
00100 CSLSetNameValue(char **papszStrList,
00101 const char *pszName, const char *pszValue);
00102
00103 CPL_C_END
00104
00105 #endif