C++ String Examples

constructors 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    char *line = "short line for testing";

    

    // with no arguments

    string s1;

    s1 = "Anatoliy";

    cout << "s1  is: " << s1 << endl;

    // copy constructor

    string s2 (s1);

    cout << "s2  is: " << s2 << endl;

    // one argumen

    string s3 (line);

    cout << "s3  is: " << s3 << endl;

    // first argumen C string

    // second number of characters

    string s4 (line,10);

    cout << "s4  is: " << s4 << endl;

    // 1 - C++ string

    // 2 - start position

    // 3 - number of characters

    string s5 (s3,6,4); // copy word 'line' from s3

    cout << "s5  is: " << s5 << endl;

    // 1 - number characters

    // 2 - character itself

    string s6 (15,'*');

    cout << "s6  is: " << s6 << endl;

    // 1 - start iterator

    // 2 - end iterator

    string s7 (s3.begin(),s3.end()-5);

    cout << "s7  is: " << s7 << endl;

    // you can instantiate string with assignment

    string s8 = "Anatoliy";

    cout << "s8  is: " << s8 << endl;

    return 0;

}

OUTPUT:

// s1  is: Anatoliy

// s2  is: Anatoliy

// s3  is: short line for testing

// s4  is: short line

// s5  is: line

// s6  is: ***************

// s7  is: short line for te

// s8  is: Anatoliy

 

 


getline 1.

/* 1 getline ( intut_stream, str, delim ); Extracts characters from intut_stream and stores them in str until s.max_size() characters have been extracted, the end of file occurs, or delim is encountered, in which case delim is extracted from istr but is not stored in s 2 getline( Iter, str ) Inputs a string value for str as in the preceding func� tion with delim = */

#include <iostream>

#include <string>

#include <vector>

#include <fstream>

using namespace std;

int main () 

{

    string str;

    cout << "Enter string (EOL = $) : ";

    getline (cin, str, '$');

    cout << "Str is : " << str << endl;

    ifstream In("data.dat");

    vector v;

    cout << endl << "Read data from file" << endl;

    while ( ! In.eof() )

    {

     getline (In, str);

     v.push_back(str);

    }

    copy (v.begin(),v.end(),

     ostream_iterator(cout,"/n"));

    cout << endl;

    

    return 0;

}

OUTPUT:

// Enter string (EOL = $) : Str is : first line

// second line$

// 

// Read data from file

// file: "data.dat"

// second line

// last line

 

 

 


 << >> operators 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str;

    cout << "Enter string for testing : ";

    cin  >> str;

    cout << "/nString is : " << str << endl;

    cout << "Enter string for testing "

      << "(d to quit) : ";

    while ( cin >> str )

    {

     cout << endl;

     cout << "String is : " << str << endl;

     cout << "Enter string for testing "

             << "(d to quit) : ";

    }

    return 0;

}

OUTPUT:

// Enter string for testing : first

// String is : first

// Enter string for testing (d to quit) : second

// String is : second

// Enter string for testing (d to quit) : third

// String is : third

// Enter string for testing (d to quit) : 

 

 


 + += = operators 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "Hello";

    cout << "str is : " << str << endl;

    str += ",";

    str += ' ';

    cout << "str is : " << str << endl;

    string s;

    s = str + "World";

    cout << "s is : " << s << endl;

    char ch = '!';

    s += ch;

    cout << "s is : " << s << endl;

    return 0;

}

OUTPUT:

// str is : Hello

// str is : Hello, 

// s is : Hello, World

// s is : Hello, World!

 

 


append 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "Nobody is perfect";

    string s   = ""; // empty string

    char *ch   = "abcdef";

    // append string str at the end of s; 

    // return s

    

    // appends at the end of s a copy of the n characters

    // in str, starting at position pos; if n is too

    // large, characters are copied only until the end  

    // of str is reached;

    // returns s

    s.append(str,0,6);

    cout << "s is : " << s << endl;

    // appends copies of the characters in the range [inpIt1,

    // inpIt2] to s; returns s

    string::iterator inpIt1 = str.begin()+6;

                    //start from ' is'

    string::iterator inpIt2 = str.end();

    s.append(inpIt1,inpIt2);

    cout << "s is : " << s << endl;

    // appends three !

    s.append(3,'!');

    cout << "s is : " << s << endl;

    

    // appends the first n characters in ch at the end

    // of s; returns s

    s.append(ch,3);

    cout << "s is : " << s << endl;

    

    // appends charArray at the end of s; returns s

    s.append(ch,3);

    cout << "s is : " << s << endl;

    return 0;

}

OUTPUT:

// s is : Nobody

// s is : Nobody is perfect

// s is : Nobody is perfect!!!

// s is : Nobody is perfect!!!abc

// s is : Nobody is perfect!!!abcabc

 

 

 


assign 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "Nobody is perfect";

    string s   = "";

    char *ch   = "Robert Frost";

    // assigns a copy of str to s; returns s

    s.assign(str);

    cout << "s is : " << s << endl;

    

    // assigns to s a copy of the n characters in str, start�

    // ing at position 10: if n is too large, characters are

    // copied only until the end of str is reached: returns s

    s.assign(str,10,7); // perfect

    cout << "s is : " << s << endl;

    // assigns to s a string consisting of the first n charac�

    // ters in ch: returns s

    s.assign(ch,6);

    cout << "s is : " << s << endl;

    // assigns to s a copy of ch: returns s

    s.assign(ch);

    cout << "s is : " << s << endl;

    // assigns  to s a string consisting of the characters in

    // the range str.begin(), str.end(); returns s

    s.assign(str.begin(),str.end());

    cout << "s is : " << s << endl;

    // assigns to s a string consisting of n copies of ch;

    // returns s

    s.assign(17,'*');

    cout << "s is : " << s << endl;

    return 0;

}

OUTPUT:

// s is : Nobody is perfect

// s is : perfect

// s is : Robert

// s is : Robert Frost

// s is : Nobody is perfect

// s is : *****************

 

 

 


at 1.

// returns s[pos]

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string s = "Nobody is perfect";

    // Returns s[pos]

    for ( int pos = 0; pos < s.length(); ++pos )

     cout << s.at(pos) << " ";

    cout << endl;

    return 0;

}

OUTPUT:

// N o b o d y   i s   p e r f e c t 

 

 


begin 1.

// Returns an iterator positioned at the // first character in a string

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "C++ is best computer language";

    string::iterator It = str.begin();

    while ( It != str.end() )

    {

     if ( *It == ' ' )

     *It = '/n';

     cout << *It++;

    }

    cout << endl;

    

    return 0;

}

OUTPUT:

// C++

// is

// best

// computer

// language

 

 

 


c_str 1.

// returns (the base address of) a char // array containing the characters stored in s, // terminated by a null character.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "Anatoliy";

    char *ary = new char[str.length()+1];

    // strcpy ( ary, str ); that is wrong way

    strcpy ( ary, str.c_str() ); // that is correct

    cout << ary << endl;

    

    return 0;

}

OUTPUT:

// Anatoliy

 

 

 


capacity 1.

// returns the size (of type size_type) // of the storage allocated in string

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "C++ is best computer language";

    string::size_type cap;

    cap = str.capacity();

    cout << "Capacity of str is: " << cap << endl;

    cout << "Size of str is    : " << str.size() 

         << endl;

    cout << "Length of str is  : " << str.length() 

         << endl;

    cout << "Resize the str for 50 character" << endl;

    str.resize(50);

    cap = str.capacity();

    

    cout << "Capacity of str is: " << cap << endl;

    cout << "Size of str is    : " << str.size() 

         << endl;

    cout << "Length of str is  : " << str.length() 

         << endl;

    return 0;

}

OUTPUT:

// Capacity of str is: 32

// Size of str is    : 29

// Length of str is  : 29

// Resize the str for 50 character

// Capacity of str is: 64

// Size of str is    : 50

// Length of str is  : 50

 

 

 


compare 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str1 = "string";

    string str2 = "String";

    string str3 = "second string";

    char ch[]   = "first string";

    cout << "string str1 is : " << str1 << endl;

    cout << "string str2 is : " << str2 << endl;

    cout << "char ary ch is : " << ch   << endl;

    cout << "string str3 is : " << str3 << endl;

    cout << endl;

    // compare str1 and str2

    cout << "1." << endl;

    size_t comp = str1.compare(str2);

    cout << "String str1 is ";

    ( comp == 0 ) ? cout << "equal" : cout 

         << "not equal";

    cout << " to string str2" << endl;

    // compare str1 and literal string "string"

    cout << "2." << endl;

    comp = str1.compare("string");

    cout << "String str1 is ";

    ( comp == 0 ) ? cout << "equal" : cout 

        << "not equal";

    cout << " to array of char /"string/"" << endl;

    // 3. and 4. doesn't work with Microsoft 

    // Visual Studio compiler

    // compare str3 start from pos 7 to 5

    // with str1

    cout << "3." << endl;

    comp = str3.compare(str1,7,5);

    cout << "Part of string str3 is ";

    ( comp == 0 ) ? cout << "equal" : cout 

        << "not equal";

    cout << " to str1" << endl;

    // compare str3 start from pos 7

    // with literal string "string"

    cout << "4." << endl;

    comp = str3.compare("string",7);

    cout << "Part of string str3 is ";

    ( comp == 0 ) ? cout << "equal" : cout 

        << "not equal";

    cout << " to C string /"string/"" << endl;

    // next 4 'compare' functions

    // doesn't work with GNU compiler

    cout << "5." << endl;

    comp = str1.compare(6,10,ch);

    cout << "String str1 is ";

    ( comp == 0 ) ? cout << "equal" : cout 

    << "not equal";

    cout << " to part of char ary /"first string/"" 

    << endl;

    cout << "6." << endl;

    comp = str1.compare(0,3,str3);

    cout << "Part of str1 is ";

    ( comp == 0 ) ? cout << "equal" : cout 

    << "not equal";

    cout << " to string /"second string/"" 

    << endl;

    cout << "7." << endl;

    comp = str1.compare(1,3,str2,1,3);

    cout << "String str1 is ";

    ( comp == 0 ) ? cout << "equal" : cout 

    << "not equal";

    cout << " to part of string /"second string/"" 

    << endl;

    cout << "8." << endl;

    comp = str1.compare(1,3,str2,1,3);

    cout << "String str1 is ";

    ( comp == 0 ) ? cout << "equal" : cout 

    << "not equal";

    cout << " to part of string /"second string/"" 

    << endl;

    return 0;

}

OUTPUT: GNU compiler

// string str1 is : string

// string str2 is : String

// char ary ch is : first string

// string str3 is : second string

// 

// 1.

// String str1 is not equal to string str2

// 2.

// String str1 is equal to array of char "string"

// 3.

// Part of string str3 is equal to str1

// 4.

// Part of string str3 is equal to C string "string"

// 5.

// 6.

// 7.

// 8.

OUTPUT: Microsoft Visual Studio compiler

// string str1 is : string

// string str2 is : String

// char ary ch is : first string

// string str3 is : second string

//

// 1.

// String str1 is not equal to string str2

// 2.

// String str1 is equal to array of char "string"

// 3.

// 4.

// 5.

// String str1 is not equal to part of char ary "first

// string"

// 6.

// Part of str1 is not equal to string "second string"

// 7.

// String str1 is equal to part of string "second string"

// 8.

// String str1 is equal to part of string "second string"

// Press any key to continue

 

 

 


copy 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "First Name: Robert";

    char fname[255];

    cout << "str is: " << str << endl;

    int n = str.find(':');

    str.copy(fname, // copy to array

            n+1,    // how many char

            0);     // start position from str

    

    // must terminate fname with '/0';

    fname[n+1] = 0;

    

    cout << "fname is: " << fname << endl;

    return 0;

}

OUTPUT:

// str is: First Name: Robert

// fname is: First Name:

 


empty 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "*******";

    while ( ! str.empty() )

    {

     cout << str << endl;

     str.erase(str.end()-1);

    }

    cout << endl;

    return 0;

}

OUTPUT:

// *******

// ******

// *****

// ****

// ***

// **

// *

 

 


end 1.

// returns an iterator porsitioned immediately // after the last character in string

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string s;

    string str = "*************************";

    size_t pos = str.length();

    while ( pos )

    {

     s.assign ( str.begin(),str.end() - pos+1);

     cout << s << endl;

     pos -= 5;

    }

    return 0;

}

OUTPUT:

// *

// ******

// ***********

// ****************

// *********************

 

 

 


erase 1.

#include <iostream>

#include <string>

#include <algorithm>

using namespace std;

int main () 

{

    string str, s;

    for ( char ch = 'a'; ch <= 'z'; ch++ )

        str.append(1,ch);

    s = str;

    cout << "str is: " << str << endl;

    cout << "s   is: " << str << endl;

    

    // removes 13 characters from the beginning

    str.erase(0,13);

    cout << "Erased range fron str : " << str << endl; 

    // removes 13 characters starts from 14

    str = s.erase(13,13);

    cout << "Erased range from s   : " << str << endl;

    // removes one character pointed by s.begin()

    cout << endl << "Erase one, second character from s"

         << endl;

    s.erase(s.begin()+1);

    cout << "s     is: " << s << endl;

    

    // removes range of characters

    s.erase(s.begin(),s.begin()+4);

    cout << "s     is: " << s << endl;

    return 0;

}

OUTPUT:

// str is: abcdefghijklmnopqrstuvwxyz

// s   is: abcdefghijklmnopqrstuvwxyz

// Erased range fron str : nopqrstuvwxyz

// Erased range from s   : abcdefghijklm

// 

// Erase one, second character from s

// s     is: acdefghijklm

// s     is: fghijklm

 

 


find 1.

#include <iostream>

#include <string>

#include <algorithm>

using namespace std;

int main () 

{

    string  str("C++ is best language");

    int pos1, pos2; // size_t or size_type 

                    // work not correct

    // search for first string "best" inside of str

    // default position is 0

    pos1 = str.find ("best");

    cout << "Word best is found on position " << pos1+1 

         << endl;

    

    // if pattern is not found - return -1

    pos2 = str.find ("best",pos1+1);

    cout << "Word best is found on position " << pos2+1 

         << endl;

    // search for first occurrence of character

    pos1 = str.find('g');

    cout << "First character 'g' found on position " 

         << pos1

      << endl;

    // search for first occurrence of string

    string s = "is";

    pos1 = str.find (s);

    cout << "Word 'is' is found on position " << pos1+1 

         << endl;

    

    return 0;

}

OUTPUT:

// Word best is found on position 8

// Word best is found on position 0

// First character 'g' found on position 15

// Word 'is' is found on position 5

 

 


find_first_not_of 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string  str("C++ is best language");

    cout << "str is: " << str << endl;

    int n = str.find_first_not_of("aeiouAEIOU");

    cout << "First consonant found at " << n+1

      << " position" << endl;

    

    return 0;

}

OUTPUT:

// str is: C++ is best language

// First consonant found at 1 position

 


find_first_not_of 2.

#include <iostream>

#include <string>

using namespace std;


int main () 

{

    string  str("C++ is best language");

    cout << "str is: " << str << endl;

    // search first not ' ',

    // start from position 7

    int n = str.find_first_not_of(' ',7);

    cout << "first not of space character "

      << "found at position " << n+1 << endl;

    

    return 0;

}

OUTPUT:

// str is: C++ is best language

// first not of space character found at position 8

 

 


find_first_not_of 3.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string  str("C++ is best language");

    string  s = "C++";

    

    cout << "str is: " << str << endl;

    

    // search character from pattern 

    // using the first x ch�racters in pattern.

    // the value position must be given

    int n = str.find_first_not_of("CBCD",0,3);

    cout << "first not 'C' is found at position "

      << n+1 << endl;

    

    // search first not of 

    // pattern is string

    n = str.find_first_not_of(s);

    cout << "first not of C++ is found "

      << "at position " << n+1 << endl;

    

    return 0;

}

OUTPUT:

// str is: C++ is best language

// first not 'C' is found at position 2

// first not of C++ is found at position 4

 

 


find_first_of 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string  str("C++ is best language");

    string  s = "be";

    

    cout << "str is: " << str << endl;

    // search be start from position 2

    // if position is ommited - default is 0

    int n = str.find_first_of(s,2);

    cout << "first 'be' found at position "

      << n+1 << endl;

    // same as above but search for character

    n = str.find_first_of('l');

    cout << "first character 'l' found at "

      << "position " << n+1 << endl;

    // search 'first of' for the characters in

    // charary

    char charary[] = " bea";

    cout << "charary[] = /" bea/"" << endl;

    n = str.find_first_of(charary,0);

    cout << "first character from charary "

      << "found at position " << n+1 << endl;

    cout << "Note: position 4 is space" << endl;

    // same as above but third argumen is

    // number of character from which searching

    // starts

    // this variant of find_first_of dosn't

    // work properly with GNU compiler

    n = str.find_first_of(" bae",0,3);

    cout << "first character from charary "

      << "found at position " << n+1 << endl;

    return 0;

}

OUTPUT:

// str is: C++ is best language

// first 'be' found at position 8

// first character 'l' found at position 13

// charary[] = " bea"

// first character from charary found at position 4

// Note: position 4 is space

// first character from charary found at position 4

 

 


find_last_not_of 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string  str("C++ is best language");

    string  s  = "langue";

    int pos = str.length()-1;

    cout << "str is: " << str << endl;

    

    // returns the highest position <= pos of a character

    // in str that does not match any charcter in s; 

    // returns nopos if there  is  no such position:

    // npos is the default value for pos

    int n =  str.find_last_not_of(s, pos);

    cout << "last_not_of 'langue' found at position "

      << n+1 << endl;

    // same as above but search for single character

    n = str.find_last_not_of('e');

    cout << "last_not_of 'e' found at position "

      << n+1 << endl;

    char ary[] = "be";

    // seawrch for occurence last_not_of

    // from pattern ary in str

    n = str.find_last_not_of(ary);

    cout << "last_not_of 'be' found at position "

      << n+1 << endl;

    

    return 0;

}

OUTPUT:

// str is: C++ is best language

// last_not_of 'langue' found at position 12

// last_not_of 'e' found at position 19

// last_not_of 'be' found at position 19

 

 


find_last_of 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string  str("C++ is best language");

    string  s  = "g";

    cout << "str is: " << str << endl;

    cout << "s   is: " << s   << endl;

  int n = str.find_last_of(s);

  cout << "last_of '" << s << "' faund"

   << " at position " << n+1 << endl;

    n = str.find_last_of(' ');

    cout << "last_of ' ' faund"

      << " at position " << n+1 << endl;

    n = str.find_last_of(" la");

    cout << "last_of /" la/" faund"

      << " at position " << n+1 << endl;

    

    return 0;

}

OUTPUT:

// str is: C++ is best language

// s   is: g

// last_of 'g' faund at position 19

// last_of ' ' faund at position 12

// last_of " la" faund at position 18

 

 


insert 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "C++ language";

    string s   = "is best";

    char ch[]  = "C++ language";

    

    cout << "str is: " << str << endl;

    cout << "s   is: " << s   << endl;

    cout << "ch  is: " << s   << endl;

    

    // insert a copy of s into str

    // at position pos;

    string::size_type pos = 4;

    str.insert(pos,s);

    cout << "str is: " << str << endl;

    

    // insert a copy of ch into str at

    // the position specified by iterator

    // return an iterator positioned at

    // this copy

    int n = str.find('l');

    str.insert(str.begin() + n,' ');

    cout << "str is: " << str << endl;

    

    // like above but n x copies of char

    str.insert(str.end(),3,'!');

    cout << "str is: " << str << endl;

    

    // insert 4 char from ch into s

    // at the position 0

    s.insert(0,ch,4);

    cout << "s   is: " << s   << endl;

    

    // insert 8 characters from str

    // start from position n ('langu...')

    // into s at position x (end string)

    n = str.find('l');

    int x = s.length();

    s.insert(x,str,n,8);

    cout << "s   is: " << s   << endl;

    

    n = s.find('l');

    s.insert(s.begin()+n,' ');

    cout << "s   is: " << s   << endl;

    

    // insert range (begin - begin+7) of str 

    // into s at position begin+4

    s.insert(s.begin()+4,str.begin(),str.begin()+7);

    cout << "s   is: " << s   << endl;

    return 0;

}

OUTPUT:

// str is: C++ language

// s   is: is best

// ch  is: is best

// str is: C++ is bestlanguage

// str is: C++ is best language

// str is: C++ is best language!!!

// s   is: C++ is best

// s   is: C++ is bestlanguage

// s   is: C++ is best language

// s   is: C++ C++ is is best language

 

 


length 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "C++ is best computer language";

    cout << "str is: " << str << endl;

    

    cout << "Length of str is : "

         << str.length() << endl;

    

    return 0;

}

OUTPUT:

// str is: C++ is best computer language

// Length of str is : 29

 

 


max_size 1.

// returns a reverse iterator positioned // at the last character in string

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "C++ is best computer language";

    cout << "str is: " << str << endl;

    cout << "max_size of str is: "

         << str.max_size() << endl;

    return 0;

}

OUTPUT:

// str is: C++ is best computer language

// max_size of str is: 4294967294

 

 


rbegin 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "C++ is best computer language";

    cout << "str is: " << str << endl;

    // usual iterator doesn't work

    string::reverse_iterator It = str.rbegin();

    while ( It != str.rend() )

        cout << *It++;

    cout << endl;

    return 0;

}

OUTPUT:

// str is: C++ is best computer language

// egaugnal retupmoc tseb si ++C

 

 


replace 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "STL is created from Dennis Ritchie";

    string s1  = "was";

    string s2  = "developed";

    string s3  = "Stepanov alexander";

    cout << "str is: " << str << endl;

    cout << "replace 'is' for 'was'" << endl;

    str.replace(4, // start position in str

            2,     // how many characters

            s1);   // source for replasment

    

    cout << "str is: " << str << endl;

    

    cout <<"replace 'created' for 'developed'" << endl;

    int n = str.find('c'); // pos of 'created'

    int x = str.find("from") -1;

    str.replace(str.begin()+n,// start pointer

            str.begin()+x,    // end pointer

            s2);              // source

    

    cout << "str is: " << str << endl;

    cout << "replace 'Dennis' for 'alexander'" << endl;

    int x1 = str.find('D'); // search Dennis

    int x2 = str.find(' ',x1+1); // space after

    int y1 = s3.find("alex"); // search 'alex'

    int y2 = strlen("alexander");

    str.replace(x1, // start position in str

            x2-x1,  // how characters to replace

            s3,     // source for replacement

            y1,     // start positio from source

            y2);    // how chracter start from y1

    

    cout << "str is: " << str << endl;

    cout << "replace 'from' for 'by'" << endl;

    char ary[] = "bytes";

    n = str.find("from");

    // same variant possible with iterators

    // instead of number of position

    str.replace(n, // start position in str

            4,     // how many characters

            ary,   // source

            2);    // first 2 characters from source

    

    cout << "str is: " << str << endl;

    cout << "replace 'a' for 'A' (alexander)" << endl;

    n = str.find("alexander");

    str.replace(n,  // start position in str

            1,      // how character(s)

            1,      // how many copies of character

            'A');   // character for replasment

    cout << "str is: " << str << endl;

    cout << "replace 'Ritchie' for 'Stepanov'" << endl;

    x1 = str.find('R');

    y1 = s3.find(' ');

    str.replace(str.begin()+x1, // start pointer

            str.end(), // to the end of str

            s3.begin(), // start pointer from source

            s3.begin()+y1 // end pointer from

            );              // source

    cout << "str is: " << str << endl;

    return 0;

}

OUTPUT:

// str is: STL is created from Dennis Ritchie

// replace 'is' for 'was'

// str is: STL was created from Dennis Ritchie

// replace 'created' for 'developed'

// str is: STL was developed from Dennis Ritchie

// replace 'Dennis' for 'alexander'

// str is: STL was developed from alexander Ritchie

// replace 'from' for 'by'

// str is: STL was developed by alexander Ritchie

// replace 'a' for 'A' (alexander)

// str is: STL was developed by Alexander Ritchie

// replace 'Ritchie' for 'Stepanov'

// str is: STL was developed by Alexander Stepanov

 


reverse 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "Anatoliy Urbanskiy";

    cout << str.reverse() << endl;

    return 0;

}

OUTPUT:

 


resize 1.

// if <=s.size(), truncates rightmost // character in s to make it of size n; otherwise, adds // copies of character ch to end of s to increase it size // to n, or adds a default character value (usually a // blank) if ch is omitted; return type is void

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "Alexander Stepanov";

    cout << "str is: " << str << endl;

    cout << "size of str is: "

         << str.size() << endl;

    str.resize(11);

    cout << "after str.resize(11)" << endl;

    cout << "str is: " << str << endl;

    cout << "size of str is: "

         << str.size() << endl;

    str.resize(20,'.');

    cout << "after str.resize(20,'.')" << endl;

    cout << "str is: " << str << endl;

    cout << "size of str is: "

         << str.size() << endl;

    return 0;

}

OUTPUT:

// str is: Alexander Stepanov

// size of str is: 18

// after str.resize(11)

// str is: Alexander S

// size of str is: 11

// after str.resize(9,'.')

// str is: Alexander S.........

// size of str is: 20

 

 


rfind 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "We go step by step to the target";

    string s1  = "step";

    cout << "str is: " << str << endl;

    cout << "s1  is: " << s1  << endl;

    cout << "int n1 = str.find(s1)" << endl;

    int n1 = str.find(s1);

    cout << "n1 = " << n1+1 << endl;

    

    cout << "int n2 = str.rfind(s1)" << endl;

    int n2 = str.rfind(s1);

    cout << "n2 = " << n2+1 << endl;

    

    cout << "n3 = str.rfind(s1,n2-1)" << endl;

    int n3 = str.rfind(s1,n2-1);

    cout << "n3 = " << n3+1 << endl;

    cout << "n1 = str.rfind('t')" << endl;

    n1 = str.rfind('t');

    cout << "n1 = " << n1+1 << endl;

    

    cout << "n2 = str.rfind('t',n1-1)" << endl;

    n2 = str.rfind('t',n1-1);

    cout << "n2 = " << n2+1 << endl;

    

    char ch[] = "step";

    cout << "char ch[] = /"step/"" << endl;

    cout << "n1 = str.rfind(ch)" << endl;

    n1 = str.rfind(ch);

    cout << "n1 = " << n1+1 << endl;

    

    cout << "n2 = str.rfind(/"stabc/",10,2)" << endl;

    n2 = str.rfind("stabc", // pattern

            10,             // start position

            2);             // for first 2 char

                            // in pattern

    cout << "n2 = " << n2+1 << endl;

    

    return 0;

}

OUTPUT:

// str is: We go step by step to the target

// s1  is: step

// int n1 = str.find(s1)

// n1 = 7

// int n2 = str.rfind(s1)

// n2 = 15

// n3 = str.rfind(s1,n2-1)

// n3 = 7

// n1 = str.rfind('t')

// n1 = 32

// n2 = str.rfind('t',n1-1)

// n2 = 27

// char ch[] = "step"

// n1 = str.rfind(ch)

// n1 = 15

// n2 = str.rfind("stabc",10,2)

// n2 = 7

 


size 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "We go step by step to the target";

    string::size_type size = str.size();

    cout << "str is: " << str << endl;

    cout << "size of str = " << size << endl;

    

    return 0;

}

OUTPUT:

// str is: We go step by step to the target

// size of str = 32

 


substr 1.

// str.subsr(pos,n); // returns a copy of the substring consisting // of n characters from str, beginning at position pos // (default value 0); if n is too large or is omitted, // characters are copied only until the end of s is // reached

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str = "We go step by step to the target";

    cout << "str is: " << str << endl;

    int n = str.find("step");

    

    string s = str.substr(n);

    cout << "s   is: " << s << endl;

    s = str.substr(n,12);

    cout << "s   is: " << s << endl;

    

    return 0;

}

OUTPUT:

// str is: We go step by step to the target

// s   is: step by step to the target

// s   is: step by step



swap 1.

#include <iostream>

#include <string>

using namespace std;

int main () 

{

    string str1 = "Robert";

    string str2 = "Forest";

    cout << "str1 is: " << str1 << endl;

    cout << "str2 is: " << str2 << endl;

    cout << endl;

    cout << "str1.swap(str2)" << endl;

    cout << endl;

    str1.swap(str2);

    cout << "str1 is: " << str1 << endl;

    cout << "str2 is: " << str2 << endl;

    

    return 0;

}

OUTPUT:

// str1 is: Robert

// str2 is: Forest

// 

// str1.swap(str2)

// 

// str1 is: Forest

// str2 is: Robert


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值