The Cpp String Data Type
Introduction
This tutorial introduces basic techniques for manipulating the String data type in C Plus Plus (C++). We address the concept of a representing a string, accessing individual character elements in the string, and outputting the string to stdout.
The original language did not include a native type for representing strings. Programmers adapted by implementing an null-terminated character array that was referred to in programming circles as a string. This type of string was supported by ANSI standard functions found in the ANSI standard header string.h.
C Plus Plus (C++) includes a class called String that provides more functionality and more data integrity that the original C string. The C++ string is defined in the header called string.
The C Plus Plus String Type
/**********************************************************************
* The C Plus Plus String Type main.cpp *
* Author: nicomp *
* Abstract: This project illustrates techniques for C++ strings. *
* This data type abstracts the concept of a 'string' and *
* eliminates the need for all that tedious mucking about in *
* pointers. It's considered a replacement for null-terminated *
* arrays of characters. *
* Note: the string data type is implemented as a C++ class. *
* *
**********************************************************************/
#include <iostream>
#include <vector>
#include <String> // This is the C++ String Type
using namespace std;
void main()
{
// One string 012345678901
string strBuff = "Hello World";
// You can index it just like an array.
// Note the single quotes for a single character.
strBuff[0] = 'J'; // Now it contains "Jello World"
// Unlike a char array,
// you can't use an index that's beyond the current size.
// strBuff[12] = '!'; // oops. A runtime error.
// You can dynamically resize the variable, unlike a char array.
strBuff = "Indiana Hoosiers";
// You can print the contents.
cout << "\n The string contains >" << strBuff.c_str() << "<";
// You can check the length by calling a function.
cout << "\n The string is " << strBuff.size() <<
" characters long.";
// You can append more characters to the end.
strBuff.append("!");
cout << "\n After appending, the string contains >"
<< strBuff.c_str() << "<";
// You can insert characters at the beginning.
strBuff.insert(0, "Your ");
cout << "\n After inserting, the string contains >"
<< strBuff.c_str() << "<";
// Check the length again.
cout << "\n The string is now " << strBuff.size() <<
" characters long.";
// ***********************
// Variations on a theme
// ***********************
// An array of strings
string strStringArray[5];
// A vector of strings
vector<string> strStringVector;
// An array of string vectors
vector<string> strStringVectorArray[5];
cout << "\n\n\n";
}

