00001 #include "stringfunctions.h" 00002 #include "string.h" 00003 00004 ArrayString StringFunctions::tokenize(std::string str,std::string delimiters) 00005 { 00006 char newString[str.size()+1]; 00007 strcpy(newString,str.c_str()); 00008 ArrayString vec; 00009 char *p = strtok(newString,delimiters.c_str()); 00010 while (p!=NULL) 00011 { 00012 vec.push_back(p); 00013 p = strtok(NULL,delimiters.c_str()); 00014 } 00015 return vec; 00016 } 00017 00018 00019 string StringFunctions::get_file_name(std::string path) 00020 { 00021 size_t start=path.find_last_of('/'); 00022 if (start== string::npos) 00023 start = 0; 00024 else 00025 start++; 00026 return path.substr(start); 00027 } 00028 00029 00030 string StringFunctions::get_prefix_file(std::string fileName) 00031 { 00032 size_t end=fileName.find_last_of('.'); 00033 if (end == string::npos) 00034 end=fileName.size(); 00035 return fileName.substr(0,end); 00036 00037 } 00038 00039 00040 string StringFunctions::to_string(int a) 00041 { 00042 char str[1000]; 00043 sprintf(str,"%d",a); 00044 return str; 00045 } 00046 00047 00048 string StringFunctions::to_string(int a,int b) 00049 { 00050 char str[1000]; 00051 sprintf(str,"%d %d",a,b); 00052 return str; 00053 00054 00055 } 00056 00057 00058 std::string StringFunctions::strip_from_end(std::string dataName,char delim) 00059 { 00060 size_t end=dataName.find_last_of(delim); 00061 if (end == string::npos) 00062 end = dataName.size(); 00063 return dataName.substr(0,end); 00064 } 00065 00066 string StringFunctions::to_string(StringList list) 00067 { 00068 std::string resp; 00069 for (unsigned i=0;i<list.size();i++) 00070 resp+=list[i]+" "; 00071 return resp; 00072 }