Strings in C++
Sounds like a new term but believe me, we already used strings several times!
Let's see the 'Hello World' Program.
#include <iostream>
using namespace std;
int main() {
cout << "Hello World";
return 0;
}
Here "Hello World"
is a string itself! C++ strings are sequences of characters used to represent textual data in programming. For example, the string "Hello World"
consists of the following characters: 'H'
, 'e'
, 'l'
, ... etc.
Properties of Strings
- We use double quotes to represent strings.
- It can consist of any characters like lowercase alphabets (a, b, c...), uppercase alphabets (A, B, C...), numbers (1, 2, 3...), symbols(&, *, -, _, ...) and even space.
- String characters can be accessed using indices similar to that of an array.
- String requires special sequences to print some special characters like
"
.
Create Strings
Now we'll see how can we create these strings in C++ programming. Strings are created using string
keyword just like int
for integer, char
for characters etc. Let's see a program to create and print a string to understand it more clearly.
#include <iostream>
using namespace std;
int main() {
// create a string
string word = "LearnYard";
// print string
cout << word; // LearnYard
return 0;
}
Output
LearnYard
"
in a string
Suppose I want to create and print a string:
Joey said "How you doing?"
Let's try writing a program for this:
#include <iostream>
using namespace std;
int main() {
string sentence = "Joey said "How you doing?"";
cout << sentence;
return 0;
}
Output
6:23: error: unable to find string literal operator ‘operator""How’ with ‘const char [11]’, ‘long unsigned int’ arguments
6 | string sentence = "Joey said "How you doing?"";
| ^~~~~~~~~~~~~~~
The program produces an error! But why?
This is because we have used "
inside a string. Since double quotes are used to enclose a string, we can't use them inside it.
But Joey said what he said! I need to print that without any error 😭
Let's see how can we achieve this!
Escape Sequences
Since there are quotation marks in it, we have to use \"
to indicate "
. The code will change as:
#include <iostream>
using namespace std;
int main() {
string sentence = "Joey said \"How you doing?\"";
cout << sentence;
return 0;
}
Output
Joey said "How you doing?"
Here \"
is called an escape sequence as it allows us to add special characters like "
in strings!
\n
in a string
If you remember then \n
when added to any text wasn't printed but helped us to get a newline. This is because \n
is also an escape sequence!
Example
#include <iostream>
using namespace std;
int main() {
string st = "Hello\nCoders\n:)";
cout << st;
return 0;
}
Output
Hello
Coders
:)