48 lines
885 B
C++
48 lines
885 B
C++
#include "util.h"
|
|
|
|
|
|
void zutil::tolower(string &s){
|
|
for(size_t i=0; s[i] ;++i){
|
|
s[i] = std::tolower(s[i]);
|
|
}
|
|
}
|
|
|
|
void zutil::trim(string &str){
|
|
size_t s = str.find_first_not_of(" \n\r\t");
|
|
size_t e = str.find_last_not_of (" \n\r\t");
|
|
|
|
if( string::npos != s && string::npos != e)
|
|
str = str.substr(s, e-s+1);
|
|
}
|
|
|
|
|
|
vector<string> zutil::parseLine(istream &in, char separator, char endl){
|
|
vector<string> parsed;
|
|
string line;
|
|
getline(in, line, endl);
|
|
|
|
return split( line, separator );
|
|
}
|
|
|
|
vector<string> zutil::split(const string &line, char separator){
|
|
vector<string> parsed;
|
|
|
|
string tmp;
|
|
for(size_t i=0; i<line.length() ;++i){
|
|
if(line[i] == separator && !tmp.empty()){
|
|
parsed.push_back( tmp );
|
|
tmp = "";
|
|
}
|
|
else{
|
|
tmp += line[i];
|
|
}
|
|
}
|
|
if(!tmp.empty()){
|
|
parsed.push_back( tmp );
|
|
}
|
|
|
|
return parsed;
|
|
}
|
|
|
|
|
|
|