intmain() { std::string str; std::string str2="Writing "; std::string str3="print 10 and then 5 more";
// used in the same order as described above: str.append(str2); // "Writing " str.append(str3,6,3); // "10 " str.append("dots are cool",5); // "dots " str.append("here: "); // "here: " str.append(10u,'.'); // ".........." str.append(str3.begin()+8,str3.end()); // " and then 5 more" str.append<int>(5,0x2E); // "....."
std::cout << str << '\n'; return0; } // Output: Writing 10 dots here: .......... and then 5 more.....
intmain() { std::stringstr("There are two needles in this haystack with needles."); std::stringstr2("needle");
// different member versions of find in the same order as above: std::size_t found = str.find(str2); if (found!=std::string::npos) std::cout << "first 'needle' found at: " << found << '\n';
found=str.find("needles are small",found+1,6); if (found!=std::string::npos) std::cout << "second 'needle' found at: " << found << '\n';
found=str.find("haystack"); if (found!=std::string::npos) std::cout << "'haystack' also found at: " << found << '\n';
found=str.find('.'); if (found!=std::string::npos) std::cout << "Period found at: " << found << '\n';
// let's replace the first needle: str.replace(str.find(str2),str2.length(),"preposition"); std::cout << str << '\n';
return0; } //Notice how parameter pos is used to search for a second instance of the same search string.
Output: first 'needle' found at: 14 second 'needle' found at: 44 'haystack' also found at: 30 Period found at: 51 There are two prepositions in this haystack with needles.
transformation between string and other data types