From 9cd3ccffd5372dfde3af478e3f832f18db4be3f1 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 6 Apr 2013 13:14:41 +0200 Subject: tagging tags --- ychat-0.7.2/src/tool/tool.cpp | 145 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 ychat-0.7.2/src/tool/tool.cpp (limited to 'ychat-0.7.2/src/tool/tool.cpp') diff --git a/ychat-0.7.2/src/tool/tool.cpp b/ychat-0.7.2/src/tool/tool.cpp new file mode 100644 index 0000000..e2ef9ae --- /dev/null +++ b/ychat-0.7.2/src/tool/tool.cpp @@ -0,0 +1,145 @@ +#ifndef TOOL_CPP +#define TOOL_CPP + +#include +#include +#include +#include +#include +#include +#include + +#include "tool.h" + +list +tool::split_string(string s_string, string s_split) { + list list_ret; + unsigned i_pos, i_len = s_split.length(); + + while ( (i_pos = s_string.find(s_split)) != string::npos ) + { + list_ret.push_back( s_string.substr(0, i_pos) ); + s_string = s_string.substr( i_pos + i_len ); + } + + list_ret.push_back( s_string ); + + return list_ret; +} + +string +tool::trim( string s_str ) +{ + if(s_str.empty()) + return ""; + + char c_cur = s_str[0]; + auto int pos=0; + + // left trim + while (c_cur==' '|| c_cur == '\n' || c_cur == '\r') + { + s_str.erase(pos,1); + c_cur = s_str[++pos]; + } + + // right trim + pos=s_str.size(); + c_cur = s_str[s_str.size()]; + + while (c_cur==' ' || c_cur == '\n' || c_cur == '\0' || c_cur == '\r') + { + s_str.erase(pos,1); + c_cur = s_str[--pos]; + } + + return s_str; +} + +char* +tool::clean_char( char* c_str ) +{ + // Ralf: + char *c_pos; + for (c_pos = c_str; *c_pos != '\0'; ++c_pos) + if ( iscntrl(*c_pos) ) *c_pos = ' '; + return c_str; +} + +string +tool::replace( string s_string, string s_search, string s_replace ) +{ + unsigned int i_pos[2]; + + for ( i_pos[0] = s_string.find( s_search ); + i_pos[0] != string::npos; + i_pos[0] = s_string.find( s_search, i_pos[1] ) ) + { + s_string.replace( i_pos[0], s_search.length(), s_replace ); + i_pos[1] = i_pos[0] + s_replace.length(); + } + + return s_string; +} + +string +tool::get_extension( string s_file ) +{ + int pos = s_file.find_last_of("."); + if(pos != string::npos) + { + string s_ext=s_file.substr(pos+1, s_file.size()-(pos+1)); + for(int i = 0;i