/* * File: lecture.cpp * ------------------ * Snippets from the live coding part of Monday 1/14 lecture * showing some simple string manipulation. */ #include "genlib.h" #include /* My first version takes string by value and creates * and returns a new string containing only the * non-matching characters, built up using * concatenation. */ string RemoveOccurrences1(char ch, string s) { string result; for (int i = 0; i < s.length(); i++) if (s[i] != ch) result += s[i]; return result; } /* My second version takes string by references * and edits it in-place to remove the characters * that match the target. */ void RemoveOccurrences2(char ch, string &s) { int found = 0; while ((found = s.find(ch, found)) != string::npos) s.erase(found, 1); } int main() { string myString = "chihuahuas cheese crackers"; string without = RemoveOccurrences1('c', myString); RemoveOccurrences2('c', myString); cout << without << " " << myString << endl; return 0; }