// test_string.cpp just demonstrating some available capabilities #include #include using namespace std; int main() { string s1; string s2("Hello."); string s3("Hello.", 3); string s4(10, '*'); string s5(5, 'B'); string s6 = "abc"; string s7; cout << "s1=" << s1 << endl; cout << "s2=" << s2 << endl; cout << "s3=" << s3 << endl; cout << "s4=" << s4 << endl; cout << "s5=" << s5 << endl; cout << "s6=" << s6 << endl; cout << "s2.begin() =" << s2.begin() << " s2.end() =" << s2.end() << endl; // cout << "s2.rbegin()=" << s2.rbegin() << " s2.rend()=" << s2.rend() // << endl; // can not print cout << "s2.size() =" << s2.size() << " s2.capacity()=" << s2.capacity() << endl; cout << "s2.length()=" << s2.length() << " s2.empty()=" << s2.empty() << endl; if (s2 == s3) cout << "bad: says s2 == s3" << endl; if (s2 != s3) cout << "OK s2 != s3" << endl; if (s2 > s3) cout << "s2 > s3" << endl; if (s2 >= s3) cout << "s2 >= s3" << endl; if (s2 < s3) cout << "s2 < s3" << endl; if (s2 <= s3) cout << "s2 <= s3" << endl; s1 = s2 + s5; cout << "s1 = s2 + s5, s1=" << s1 << endl; s6 += s2; cout << "s6 += s2, s6=" << s6 << endl; cout << "s6.compare(s2)=" << s6.compare(s2) << endl; cout << "s2.compare(s6)=" << s2.compare(s6) << endl; cout << "s2.compare(s2)=" << s2.compare(s2) << endl; cout << "s2.compare(1,2,s3,1,2)=" << s2.compare(1,2,s3,1,2) << endl; s1 = s2.substr(2,4); cout << "s1 = s2.substr(2,4), s1=" << s1 << endl; swap(s5,s6); //? not sure this is legal cout << "s5=" << s5 << " s6=" << s6 << endl; s6.replace(2, 4, s5); cout << "s6.replace(2, 4, s5), s6=" << s6 << endl; char dumb_str[255]; cin.getline(dumb_str, 255, '\n'); s1 = string(dumb_str); cout << "cin.getline(dumb_str, max_count, new_line), s1=" << s1 << endl; return 0; } // result of execution: // s1= // s2=Hello. // s3=Hel // s4=********** // s5=BBBBB // s6=abc // s2.begin() =Hello. s2.end() = // s2.size() =6 s2.capacity()=31 // s2.length()=6 s2.empty()=0 // OK s2 != s3 // s2 > s3 // s2 >= s3 // s1 = s2 + s5, s1=Hello.BBBBB // s6 += s2, s6=abcHello. // s6.compare(s2)=1 // s2.compare(s6)=-1 // s2.compare(s2)=0 // s2.compare(1,2,s3,1,2)=0 // s1 = s2.substr(2,4), s1=llo. // s5=abcHello. s6=BBBBB // s6.replace(2, 4, s5), s6=BBabcHello. // cin.getline(dumb_str, max_count, new_line), s1=aaa