Coding Tips (JavaScript/CSS/VBA/Win32)
Useful code snippets, tips and some Windows applications
Some C++ Tips and Functions
- A simple C++ function to tokenize a string
- A more complex tokenize function
- Write a number to a string
- Replace a vector element
- Convert HTML color code string to COLORREF
- Check whether a string is in upper case
- Convert str::string to char
- Pass string arrays to functions
A simple C++ function to tokenize a string
#include <vector> #include <string> #include <sstream> using namespace std; vector<string> getTokens(string str){ string buf; // Have a buffer string stringstream ss(str); // Insert the string into a stream vectortokens; // Create vector to hold our words while (ss >> buf) tokens.push_back(buf); return tokens; }
A more complex tokenize function
void Tokenize(const string& str, vectorUsage:& tokens, const string& delimiters = " ") { // Skip delimiters at beginning. string::size_type lastPos = str.find_first_not_of(delimiters, 0); // Find first "non-delimiter". string::size_type pos = str.find_first_of(delimiters, lastPos); while (string::npos != pos || string::npos != lastPos) { // Found a token, add it to the vector. tokens.push_back(str.substr(lastPos, pos - lastPos)); // Skip delimiters. Note the "not_of" lastPos = str.find_first_not_of(delimiters, pos); // Find next "non-delimiter" pos = str.find_first_of(delimiters, lastPos); } }
vector<string> tokens; string str("Split,me up!Word2 Word3."); Tokenize(str, tokens, ",<'> " ); vector <string>::iterator iter; for(iter = tokens.begin();iter!=tokens.end();iter++){ cout<< (*iter) << endl; }
Write a number to a string
int myInteger; string myString; ostringstream myStream; // Copy Integer to String Stream myStream << myInteger; // Assign characters in stream to std::string myString = myStream.str();A stream can be cleared in the following way:
myStream.str("");
Replace a vector element
vectortheVector; //populate the vector theVector.at(2) = "new string";
Transform HTML color code string to COLORREF
The string parameter is assumed to be in '#FFFFFF' format.COLORREF transformHTML(string color){ string s1(color, 1,2); string s2(color, 3,2); string s3(color, 5,2); long r = strtol(s1.c_str(), NULL, 16); long g = strtol(s2.c_str(), NULL, 16); long b = strtol(s3.c_str(), NULL, 16); return RGB (r,g,b); }
Determine Whether A String is in Upper Case
bool isUpper(string line){ const char *str = line.c_str(); while(*str != '\0'){ if(IsCharLower(*str)) return false; *str++; } return true; } A Windows IsCharLower function is used.
Convert str::string to char
Use the c_str() function.
Example:
string str = "test string"; const char *ch = str.c_str();
Pass string arrays to functions
This actually refers to C.You declare a string array in the calling function as follows:
char arr[10][30];The second dimension must always have the exact number of elements in the function declaration:
int functionName(char (*arr) [30], int numberOfElements 10);The brackets around the array name are important. You also pass the number of elements in the first dimension as an argument to the function.
Free local files search with HTML Scanner
More examples for working with files