History

add windows file path expansion

Ge Wang committed 3 years ago

Commit 9e818d91 parent 6628be44 files · +85 −4Browse files

Showing the changes to src/core/util_string.cpp (1 of 4 files). Show all

Unified · Split

src/core/util_string.cpp+47−0
@@ -828,3 +828,50 @@ std::string timestamp_formatted() · 827 unmodified lines
828828 // return the formatted timestamp
829829 return datetime_buf;
830830 }
831+
832+
833+
834+static t_CKBOOL str_contains( const string & s, char c )
835+{ return s.find( c ) != string::npos; }
836+
837+//-----------------------------------------------------------------------------
838+// name: tokenize() | 1.5.0.4 (ge) added
839+// desc: tokenize a string into a vector of strings, by delimiters
840+//-----------------------------------------------------------------------------
841+void tokenize( const std::string & str, std::vector<string> & tokens, const std::string & delimiters )
842+{
843+ // string length
844+ t_CKINT len = str.length();
845+ // clear vector
846+ tokens.clear();
847+ // token start index
848+ t_CKINT start = 0;
849+
850+ // scan through str
851+ for( t_CKINT i = 0; i < len; i++ )
852+ {
853+ // check for delimiters
854+ if( str_contains( delimiters, str[i] ) )
855+ {
856+ // substr len
857+ t_CKINT slen = i-start;
858+ // check
859+ if( len > 0 )
860+ {
861+ // push back the substr
862+ tokens.push_back( str.substr( start, slen ) );
863+ }
864+ // update the start pos
865+ start = i+1;
866+ }
867+ }
868+
869+ // get the remainder
870+ t_CKINT slen = len-start;
871+ // check
872+ if( len > 0 )
873+ {
874+ // push back the substr
875+ tokens.push_back( str.substr( start, slen ) );
876+ }
877+}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t