#include <bits/stdc++.h>
using namespace std;
int main( ) {
// your code goes here
string str1( "first string" ) ;
string str2( str1) ;
string str3( 5 , '#' ) ;
string str4( str1, 6 , 6 ) ;
string str5( str2.begin ( ) , str2.begin ( ) + 5 ) ;
cout << str1 << endl;
cout << str2 << endl;
cout << str3 << endl;
cout << str4 << endl;
cout << str5 << endl;
string str6 = str4;
str4.clear ( ) ;
int len = str6.length ( ) ;
cout << "Length of string is " << len << endl;
char ch = str6.at ( 2 ) ;
cout << "Third character of string is: " << ch << endl;
char ch_f = str6.front ( ) ;
char ch_b = str6.back ( ) ;
cout << "First char is : " << ch_f << ", Last char is :" << ch_b << endl;
const char * charstr = str6.c_str ( ) ;
printf ( "%s\n " , charstr) ;
str6.append ( "Extension" ) ;
str4.append ( str6, 6 , 6 ) ;
cout << str6 << endl;
cout << str4 << endl;
if ( str6.find ( str4) ! = string:: npos )
cout << "str4 found in str6 at " << str6.find ( str4) << " pos" << endl;
else
cout << "str4 not found in str6" << endl;
cout << str6.substr ( 7 ,3 ) << endl;
cout << str6.substr ( 7 ) << endl;
str6.erase ( 7 ,4 ) ;
cout << str6 << endl;
str6.erase ( str6.begin ( ) + 5 , str6.end ( ) - 3 ) ;
cout << str6 << endl;
str6 = "This is an example" ;
str6.replace ( 2 ,7 , "ese are test" ) ;
cout << str6 << endl;
return 0 ;
return 0 ;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXN0cmluZyBzdHIxKCJmaXJzdCBzdHJpbmciKTsKCQoJc3RyaW5nIHN0cjIoc3RyMSk7CgkKCXN0cmluZyBzdHIzKDUsICcjJyk7CgkKCXN0cmluZyBzdHI0KHN0cjEsIDYsIDYpOwoJCglzdHJpbmcgc3RyNShzdHIyLmJlZ2luKCksIHN0cjIuYmVnaW4oKSArIDUpOwoJCgljb3V0IDw8IHN0cjEgPDwgZW5kbDsKCWNvdXQgPDwgc3RyMiA8PCBlbmRsOwoJY291dCA8PCBzdHIzIDw8IGVuZGw7Cgljb3V0IDw8IHN0cjQgPDwgZW5kbDsKCWNvdXQgPDwgc3RyNSA8PCBlbmRsOwoJCglzdHJpbmcgc3RyNiA9IHN0cjQ7CgkKCXN0cjQuY2xlYXIoKTsKCQoJaW50IGxlbiA9IHN0cjYubGVuZ3RoKCk7CgkKCWNvdXQgPDwgIkxlbmd0aCBvZiBzdHJpbmcgaXMgIiA8PCBsZW4gPDwgZW5kbDsKCQoJY2hhciBjaCA9IHN0cjYuYXQoMik7CgkKCWNvdXQgPDwgIlRoaXJkIGNoYXJhY3RlciBvZiBzdHJpbmcgaXM6ICIgPDwgY2ggPDwgZW5kbDsKCQoJY2hhciBjaF9mID0gc3RyNi5mcm9udCgpOwoJY2hhciBjaF9iID0gc3RyNi5iYWNrKCk7CgkKCWNvdXQgPDwgIkZpcnN0IGNoYXIgaXMgOiAiIDw8IGNoX2YgPDwgIiwgTGFzdCBjaGFyIGlzIDoiIDw8IGNoX2IgPDwgZW5kbDsKCQoJY29uc3QgY2hhciogY2hhcnN0ciA9IHN0cjYuY19zdHIoKTsKCXByaW50ZigiJXNcbiIsIGNoYXJzdHIpOwoJCglzdHI2LmFwcGVuZCgiRXh0ZW5zaW9uIik7CgkKCXN0cjQuYXBwZW5kKHN0cjYsIDYsIDYpOwoJCgljb3V0IDw8IHN0cjYgPDwgZW5kbDsKCWNvdXQgPDwgc3RyNCA8PCBlbmRsOwoJCglpZiAoc3RyNi5maW5kKHN0cjQpICE9IHN0cmluZzo6bnBvcykKCQljb3V0IDw8ICJzdHI0IGZvdW5kIGluIHN0cjYgYXQgIiA8PCBzdHI2LmZpbmQoc3RyNCkgPDwgIiBwb3MiIDw8IGVuZGw7CgllbHNlCgkJY291dCA8PCAic3RyNCBub3QgZm91bmQgaW4gc3RyNiIgPDwgZW5kbDsKCQkKCWNvdXQgPDwgc3RyNi5zdWJzdHIoNywzKSA8PCBlbmRsOwoJCgljb3V0IDw8IHN0cjYuc3Vic3RyKDcpIDw8IGVuZGw7CgkKCXN0cjYuZXJhc2UoNyw0KTsKCWNvdXQgPDwgc3RyNiA8PCBlbmRsOwoJCglzdHI2LmVyYXNlKHN0cjYuYmVnaW4oKSArIDUsIHN0cjYuZW5kKCkgLSAzKTsKCWNvdXQgPDwgc3RyNiA8PCBlbmRsOwoJCglzdHI2ID0gIlRoaXMgaXMgYW4gZXhhbXBsZSI7CgkKCXN0cjYucmVwbGFjZSgyLDcsICJlc2UgYXJlIHRlc3QiKTsKCQoJY291dCA8PCBzdHI2IDw8IGVuZGw7CgkKCXJldHVybiAwOwoJCglyZXR1cm4gMDsKfQ==