00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef STRINGTOOLS_H
00019 #define STRINGTOOLS_H
00020
00021 #include <string>
00022 #include <cctype>
00023 #include <vector>
00024 #include <iostream>
00025 #include <iomanip>
00026 #include <fstream>
00027 #include <stdio.h>
00028 #include <cmath>
00029 #include <cstdlib>
00030
00031
00032 #define WS_CHARS " \n\r\t"
00033
00034 #ifdef _WIN32
00035 #define PATH_SEPARATOR_CHAR '\\'
00036 #define PATH_SEPARATOR_STR "\\"
00037 #else
00038 #define PATH_SEPARATOR_CHAR '/'
00039 #define PATH_SEPARATOR_STR "/"
00040 #endif
00041
00042 using namespace std;
00043
00048 namespace StringTools
00049 {
00050
00051 string genfilename(const string& pref, const string &suff,
00052 int nfields, int nxyz);
00053
00054
00057 string lowerCase(const string &s);
00058 double atod(const string &s);
00059
00062 int str2int(string &s);
00063
00065 string int2str(int integer, int size=0, const string spaceStr= " ");
00066
00067 string double2str(double val, int precision);
00068
00070 bool isAlpha(unsigned char c);
00071
00073 int str2int(unsigned char *s);
00074
00075
00076 string trimRight(const string &);
00077
00079 unsigned char getNextNonWs(const string &line, int index=0);
00080
00081 unsigned int getNextNonWsPos(const string &line, int index=0);
00082
00083 string validateDirPath(const string & path);
00084
00085 int cleanstring(string& line);
00086 string newCleanString(string line);
00087
00088 vector<string> tokenize(string str, string delims);
00089 bool findstr(ifstream &fstr, string tag);
00090 bool findstr(ifstream &fstr, string tag, string & outstring);
00091 bool contains(string s1, string s2);
00092 bool iscomment(string s);
00093
00094 };
00095
00096 #endif
00097
00098
00099
00100