0% found this document useful (0 votes)
2 views

C++ 7

The document provides an overview of handling strings in C++, including creating string variables, concatenation, accessing and modifying characters, and user input. It highlights the use of the <string> library and the importance of using getline() for reading full names. Additionally, it warns about the dual use of the + operator for both addition and string concatenation.

Uploaded by

Hack Fin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

C++ 7

The document provides an overview of handling strings in C++, including creating string variables, concatenation, accessing and modifying characters, and user input. It highlights the use of the <string> library and the importance of using getline() for reading full names. Additionally, it warns about the dual use of the + operator for both addition and string concatenation.

Uploaded by

Hack Fin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 6

C++ Strings

Strings are used for storing text.

A string variable contains a collection of characters surrounded by double


quotes:

Example
Create a variable of type string and assign it a value:

string greeting = "Hello";

To use strings, you must include an additional header file in the source code,
the <string> library:

Example
#include <iostream>
#include <string>
using namespace std;

int main() {
string greeting = "Hello";
cout << greeting;
return 0;
}
Run example »

String Concatenation
The + operator can be used between strings to add them together to make a
new string. This is called concatenation:

Example
#include <iostream>
#include <string>
using namespace std;
int main () {
string firstName = "John ";
string lastName = "Doe";
string fullName = firstName + lastName;
cout << fullName;
return 0;
}
Run example »
Note that we added a space after firstName to create a space between John and
Doe on output.

String Length
A string in C++ is actually an object, which contain functions that can perform
certain operations on strings. For example, the length of a string can be found
with the length() function:

Example
#include <iostream>
#include <string>
using namespace std;

int main() {
string txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
cout << "The length of the txt string is: " << txt.length();
return 0;
}
Run example »

Access Strings
You can access the characters in a string by referring to its index number inside
square brackets [].

This example prints the first character in myString:

Example
#include <iostream>
#include <string>
using namespace std;

int main() {
string myString = "Hello";
cout << myString[0];
return 0;
}

Run example »
Note: String indexes start with 0: [0] is the first character. [1] is the second
character, etc.

This example prints the second character in myString:

Example
#include <iostream>
#include <string>
using namespace std;

int main() {
string myString = "Hello";
cout << myString[1];
return 0;
}
Run example »

Change String Characters


To change the value of a specific character in a string, refer to the index
number, and use single quotes:

Example
#include <iostream>
#include <string>
using namespace std;

int main() {
string myString = "Hello";
myString[0] = 'J';
cout << myString;
return 0;
}
Run example »

User Input Strings


It is possible to use the extraction operator >> on cin to display a string entered
by a user:

Example
string firstName;
cout << "Type your first name: ";
cin >> firstName; // get user input from the keyboard
cout << "Your name is: " << firstName;

// Type your first name: John


// Your name is: John

However, cin considers a space (whitespace, tabs, etc) as a terminating


character, which means that it can only display a single word (even if you type
many words):

Example
string fullName;
cout << "Type your full name: ";
cin >> fullName;
cout << "Your name is: " << fullName;

// Type your full name: John Doe


// Your name is: John

From the example above, you would expect the program to print "John Doe", but
it only prints "John".

That's why, when working with strings, we often use the getline() function to
read a line of text. It takes cin as the first parameter, and the string variable as
second:

Example
#include <iostream>
#include <string>
using namespace std;

int main() {
string fullName;
cout << "Type your full name: ";
getline (cin, fullName);
cout << "Your name is: " << fullName;
return 0;
}
Run example »

Adding Numbers and Strings


WARNING!

C++ uses the + operator for both addition and concatenation.

Numbers are added. Strings are concatenated.

If you add two numbers, the result will be a number:

Example
#include <iostream>
using namespace std;

int main () {
int x = 10;
int y = 20;
int z = x + y;
cout << z;
return 0;
}
Run example »

If you add two strings, the result will be a string concatenation:

Example
#include <iostream>
#include <string>
using namespace std;
int main () {
string x = "10";
string y = "20";
string z = x + y;
cout << z;
return 0;
}
Run example »

If you try to add a number to a string, an error occurs:

Example
string x = "10";
int y = 20;
string z = x + y;

Omitting Namespace
You might see some C++ programs that runs without the standard namespace
library. The using namespace std line can be omitted and replaced with
the std keyword, followed by the :: operator for string (and cout) objects:

Example
#include <iostream>
#include <string>

int main() {
std::string greeting = "Hello";
std::cout << greeting;
return 0;
}
Run example »
It is up to you if you want to include the standard namespace library or not.

You might also like