basic_string size and resize (STL Sample)

The sample code below illustrates how to use the basic_string size and resize STL functions in Visual C++.

Required Header:
<string>

Prototype:

   size_type size() const;

   void resize(size_type n, E c = E());

   resize is defined in header xstring which is included indirectly.

Note: The class/parameter names in the prototype do not match the version in the header file. Some have been modified to improve readability.

Description:
The size function returns the length of the sequence. The resize function changes the size to the length specified by the first parameter. If the sequence is made longer, the function appends elements with the value of the second parameter. This value defaults to a null. The output of the sample code shows spaces for the null characters. operator<< reads the size of string and outputs each character in the string one at a time.

Sample Code:

//////////////////////////////////////////////////////////////////////
//
// Compile options needed: /GX
//
// <filename> :  size.cpp
//
// Functions:
//
//    size()
//    resize() ; Defined in header xstring which is included indirectly.
//////////////////////////////////////////////////////////////////////

/* Compile options needed: /GX
*/
#include <iostream>
#include <string>

using namespace std;


void main()
{
    string TestString = "1111122222333334444455555";
    cout << TestString << "\n  size: " << TestString.size() << endl;
    TestString.resize(5);
    cout << TestString << "\n  size: " << TestString.size() << endl;
    TestString.resize(10);
    cout << TestString << "\n  size: " << TestString.size() << endl;
    TestString.resize(15,'6');
    cout << TestString << "\n  size: " << TestString.size() << endl;
}

Program Output is:

1111122222333334444455555
  size: 25
11111
  size: 5
11111
  size: 10
11111     66666
  size: 15