Strings in c++
- A string is a sequence of characters. C and C++ implement strings as arrays of char. The C++ language additionally supports string objects.
- In the C language, the only option is a char array.
- We use the term C string to refer to an array of characters as used in the C language. In this section, any mention of the term string refers to a C string.
- A string is an array of characters. A string literal is a sequence of characters enclosed within quotation marks, as in
std::cout << "How\n";
The string word can hold 255 viable characters plus the null terminator. If the user types in relatively short words (length less than 255 characters), there is no problem.
If at any time the user types in more characters than will fit in the word array, the executing program will have a problem.
The problem is known as a buffer overrun. In the best case, buffer overruns lead to buggy programs.
In the worst case, clever users can exploit buffer overruns to compromise software systems. Buffer overruns are always logic errors and you should take great care to avoid them.
Strings are arrays of characters. The special character ' \0' (NUL) is used to indicate the end of a string.
Example
char name[4];
main ()
{
name[0] = 'S';
name[1] = 'a';
name[2] = 'm';
name[3] = '\0';
return (0);
}
This creates a character array four elements long. Note that we had to allocate one character for the end-of-string marker.
String constants consist of text enclosed in double quotes ("). You may have already noticed that we've used string constants extensively for output with the cout standard class.
C++ does not allow one array to be assigned to another, so you can't write an assignment of the form:
name = "Sam"; // Illegal