Problem: Find and print on separate lines all parts of the string separated by semicolons.
#include <iostream> #include <string> #include <cstdlib> int main() { string s = "Brian W. Kernighan; The Practice of Programming; Addison Wesley"; string f; size_t start, after; start = s.find_first_not_of(" \t;"); while ( start != string::npos ) { after = s.find(";", start); // set to string::npos if not found f = s.substr(start, after - start); cout << f << endl; start = s.find_first_not_of(" \t;", after); } return 0; } Output: Brian W. Kernighan The Practice of Programming Addison Wesley