summaryrefslogtreecommitdiff
path: root/s_tool.cpp
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2010-11-21 16:18:08 +0000
committerPaul Buetow <paul@buetow.org>2010-11-21 16:18:08 +0000
commit7ead5b7a9ea99a3e0f1459187b3262f7054f0126 (patch)
tree17e082a745fd1bae8af5b8b1682c3a2ff94769c8 /s_tool.cpp
Diffstat (limited to 's_tool.cpp')
-rw-r--r--s_tool.cpp111
1 files changed, 111 insertions, 0 deletions
diff --git a/s_tool.cpp b/s_tool.cpp
new file mode 100644
index 0000000..ae6357a
--- /dev/null
+++ b/s_tool.cpp
@@ -0,0 +1,111 @@
+#ifndef s_tool_CXX
+#define s_tool_CXX
+
+#include <ctype.h>
+#include <time.h>
+#include "s_tool.h"
+
+bool
+s_tool::is_alpha_numeric( string &s_digit )
+{
+ auto const char *digit = s_digit.c_str();
+ auto int i_len = strlen( digit );
+
+ for( int i=0; i<i_len; i++ )
+ {
+ if ( ! isalnum( *digit ) )
+ return false;
+ digit++;
+ }
+
+ return true;
+}
+string
+s_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;
+}
+
+string
+s_tool::getExtension( 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<s_ext.size();i++)
+ s_ext[i]=toupper(s_ext[i]);
+ return s_ext;
+ }
+ return "";
+}
+
+int
+s_tool::string2int( string s_digit )
+{
+ auto const char *digit = s_digit.c_str();
+ int result = 0;
+
+ // Convert each digit char and add into result.
+ while (*digit >= '0' && *digit <='9') {
+ result = (result * 10) + (*digit - '0');
+ digit++;
+ }
+
+ // Check that there were no non-digits at end.
+ if (*digit != 0) {
+ return -1;
+ }
+
+ return result;
+}
+
+long
+s_tool::unixtime()
+{
+ return (long) time( NULL );
+}
+
+
+void
+s_tool::strip_html( string *s_str )
+{
+ auto int i_pos;
+
+ if((i_pos=s_str->find("<",0))==string::npos)
+ return;
+ while(true)
+ {
+
+ s_str->replace(i_pos,1,"&lt;");
+
+ if((i_pos=s_str->find("<",0))==string::npos)
+ return;
+
+ }
+
+
+}
+#endif