Bird
Raised Fist0
C++programming~5 mins

String handling basics in C++

Choose your learning style10 modes available
Introduction

Strings let us work with words and sentences in programs. They help us store and change text.

When you want to greet a user by name.
When you need to read a sentence from the keyboard.
When you want to check if a word is inside a sentence.
When you want to join two words together.
When you want to count how many letters are in a word.
Syntax
C++
std::string variableName = "text";

// Common operations:
variableName.length();       // Get number of characters
variableName + "more";     // Join strings
variableName[i];             // Access character at position i
variableName.substr(start, length); // Get part of string

Use #include <string> to work with strings.

Strings start at position 0 for the first character.

Examples
Create a string named name with the text "Alice".
C++
std::string name = "Alice";
Get the number of letters in name and store it in len.
C++
int len = name.length();
Access the first letter of name, which is 'A'.
C++
char first = name[0];
Join " Smith" to the name to make a full name.
C++
std::string greeting = name + " Smith";
Sample Program

This program shows how to create a string, find its length, get the first letter, join another string, and get a part of the string.

C++
#include <iostream>
#include <string>

int main() {
    std::string word = "Hello";
    std::cout << "Word: " << word << "\n";
    std::cout << "Length: " << word.length() << "\n";
    std::cout << "First letter: " << word[0] << "\n";
    std::string newWord = word + " World";
    std::cout << "Joined string: " << newWord << "\n";
    std::cout << "Substring (1,3): " << newWord.substr(1,3) << "\n";
    return 0;
}
OutputSuccess
Important Notes

Remember strings count positions starting at 0, so the first letter is at position 0.

Use length() to find how many characters are in the string.

Joining strings with + creates a new string without changing the originals.

Summary

Strings store text like words and sentences.

You can find length, access letters, join strings, and get parts of strings easily.

Start practicing by creating strings and trying these operations yourself!

Practice

(1/5)
1. What does the following C++ code do?
std::string s = "Hello";
int len = s.length();
easy
A. Changes the string s to "length"
B. Stores the length of the string "Hello" in variable len
C. Prints the string length to the screen
D. Deletes the string s

Solution

  1. Step 1: Understand the string initialization

    The code creates a string variable s with the value "Hello".
  2. Step 2: Understand the length() function

    The length() function returns the number of characters in the string, which is 5 for "Hello".
  3. Final Answer:

    Stores the length of the string "Hello" in variable len -> Option B
  4. Quick Check:

    string length = 5 [OK]
Hint: length() returns number of characters in a string [OK]
Common Mistakes:
  • Thinking length() changes the string
  • Confusing length() with printing
  • Assuming length() deletes the string
2. Which of the following is the correct way to declare and initialize a string in C++?
easy
A. std::string s = "Hello";
B. string s = 'Hello';
C. char s = "Hello";
D. string s = Hello;

Solution

  1. Step 1: Check string declaration syntax

    In C++, strings are declared using std::string and initialized with double quotes "".
  2. Step 2: Analyze each option

    std::string s = "Hello"; uses std::string with double quotes correctly. string s = 'Hello'; uses single quotes which are for single characters. char s = "Hello"; uses char which holds one character, not a string. string s = Hello; misses quotes around Hello.
  3. Final Answer:

    std::string s = "Hello"; -> Option A
  4. Quick Check:

    Correct string syntax uses std::string and double quotes [OK]
Hint: Use std::string and double quotes for strings [OK]
Common Mistakes:
  • Using single quotes for strings
  • Using char for multiple characters
  • Forgetting quotes around text
3. What is the output of this C++ code?
std::string s = "Hello";
char c = s[1];
std::cout << c << std::endl;
medium
A. o
B. H
C. l
D. e

Solution

  1. Step 1: Understand string indexing

    Strings in C++ are zero-indexed, so s[0] = 'H', s[1] = 'e'.
  2. Step 2: Identify the character at index 1

    The code stores s[1] in c, which is 'e', then prints it.
  3. Final Answer:

    e -> Option D
  4. Quick Check:

    Index 1 character = 'e' [OK]
Hint: Remember string indexing starts at 0 [OK]
Common Mistakes:
  • Thinking indexing starts at 1
  • Confusing characters at different positions
  • Expecting the whole string instead of one char
4. Find the error in this code snippet:
std::string s = "Hello";
char c = s.at(5);
std::cout << c << std::endl;
medium
A. No error, prints 'o'
B. Compilation error: cannot assign char
C. Runtime error: out_of_range exception
D. Syntax error: wrong function name

Solution

  1. Step 1: Check string length and indexing

    The string "Hello" has length 5, valid indices are 0 to 4.
  2. Step 2: Understand s.at(5) behavior

    Accessing s.at(5) is out of range and throws a runtime exception.
  3. Final Answer:

    Runtime error: out_of_range exception -> Option C
  4. Quick Check:

    Accessing index 5 causes out_of_range error [OK]
Hint: s.at(index) throws error if index invalid [OK]
Common Mistakes:
  • Assuming s.at() works like s[] without error
  • Ignoring zero-based indexing
  • Confusing syntax and runtime errors
5. Given a string std::string s = "apple,banana,cherry";, which code correctly extracts the substring "banana"?
hard
A. std::string sub = s.substr(6, 6);
B. std::string sub = s.substr(5, 6);
C. std::string sub = s.substr(6, 7);
D. std::string sub = s.substr(7, 6);

Solution

  1. Step 1: Identify the start index of "banana"

    "apple," has 6 characters (indices 0 to 5), so 'b' starts at index 6.
  2. Step 2: Determine length of "banana"

    "banana" has 6 characters.
  3. Step 3: Use substr(start, length)

    Calling s.substr(6, 6) extracts 6 characters starting at index 6, which is "banana".
  4. Final Answer:

    std::string sub = s.substr(6, 6); -> Option A
  5. Quick Check:

    substr(6,6) = "banana" [OK]
Hint: Count start index and length carefully for substr() [OK]
Common Mistakes:
  • Off-by-one errors in start index
  • Wrong length parameter
  • Confusing substr parameters order
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard