Bird
Raised Fist0
C++programming~5 mins

String functions overview in C++

Choose your learning style10 modes available
Introduction

String functions help us work with text easily. They let us change, check, and find parts of words or sentences.

When you want to join two words or sentences.
When you need to find if a word contains a certain letter or part.
When you want to change letters from uppercase to lowercase or vice versa.
When you want to count how many letters or words are in a sentence.
When you want to cut out a part of a sentence.
Syntax
C++
std::string str = "Hello";

// Common string functions:
str.length();       // Get length of string
str.empty();        // Check if string is empty
str.append(" World"); // Add text at the end
str.substr(pos, len); // Get part of string
str.find("lo");    // Find position of substring
str.compare(other);  // Compare two strings
str.erase(pos, len); // Remove part of string
str.replace(pos, len, "new"); // Replace part of string
std::transform(str.begin(), str.end(), str.begin(), ::toupper); // Convert to uppercase

All string functions are called on a string object using dot . notation.

Positions (pos) start at 0, meaning the first letter is at position 0.

Examples
This gets the length of the word "Hello", which is 5.
C++
std::string greeting = "Hello";
int len = greeting.length();
This adds " World" to the end, making the string "Hello World".
C++
std::string text = "Hello";
text.append(" World");
This takes 3 letters starting from position 1, so part becomes "ell".
C++
std::string word = "Hello";
std::string part = word.substr(1, 3);
This finds where "lo" starts in "Hello", which is position 3.
C++
std::string word = "Hello";
int pos = word.find("lo");
Sample Program

This program shows common string functions: length, append, substring, find, replace, and converting to uppercase.

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

int main() {
    std::string text = "Hello";
    std::cout << "Original text: " << text << "\n";

    // Length
    std::cout << "Length: " << text.length() << "\n";

    // Append
    text.append(" World");
    std::cout << "After append: " << text << "\n";

    // Substring
    std::string part = text.substr(6, 5);
    std::cout << "Substring (6,5): " << part << "\n";

    // Find
    size_t pos = text.find("World");
    std::cout << "Position of 'World': " << pos << "\n";

    // Replace
    text.replace(6, 5, "C++");
    std::cout << "After replace: " << text << "\n";

    // To uppercase
    std::transform(text.begin(), text.end(), text.begin(), ::toupper);
    std::cout << "Uppercase: " << text << "\n";

    return 0;
}
OutputSuccess
Important Notes

Remember string positions start at 0, so the first letter is position 0.

Functions like find return std::string::npos if the part is not found.

Use std::transform with care to change case; it needs <algorithm> and cctype headers.

Summary

String functions help us work with text easily.

Common tasks include finding length, adding text, cutting parts, and changing case.

Positions in strings start at zero, so count carefully.

Practice

(1/5)
1. Which C++ string function returns the number of characters in a string?
easy
A. substr()
B. append()
C. length()
D. find()

Solution

  1. Step 1: Understand string length function

    The length() function returns how many characters are in the string.
  2. Step 2: Compare with other functions

    append() adds text, substr() extracts part, find() searches for text.
  3. Final Answer:

    length() -> Option C
  4. Quick Check:

    String length = length() [OK]
Hint: Length means count characters, use length() [OK]
Common Mistakes:
  • Confusing length() with append()
  • Using substr() to get length
  • Thinking find() returns length
2. Which of the following is the correct syntax to add " world" to a string str in C++?
easy
A. str.append(" world");
B. str.add(" world");
C. str.concat(" world");
D. str.push_back(" world");

Solution

  1. Step 1: Identify correct append syntax

    In C++, append() adds text to the end of a string: str.append(" world");.
  2. Step 2: Check other options

    add() and concat() are not string methods in C++. push_back() adds a single character, not a string.
  3. Final Answer:

    str.append(" world"); -> Option A
  4. Quick Check:

    Use append() to add text [OK]
Hint: Use append() to add text, not add() or concat() [OK]
Common Mistakes:
  • Using add() or concat() which don't exist
  • Using push_back() with string argument
  • Missing semicolon at end
3. What is the output of this C++ code?
std::string s = "hello world";
std::cout << s.substr(6, 5);
medium
A. worlds
B. hello
C. hello world
D. world

Solution

  1. Step 1: Understand substr parameters

    substr(6, 5) means start at index 6 and take 5 characters.
  2. Step 2: Extract substring from "hello world"

    Index 6 is 'w', next 5 characters are "world".
  3. Final Answer:

    world -> Option D
  4. Quick Check:

    substr(6,5) = "world" [OK]
Hint: Count from zero, substr(start, length) extracts text [OK]
Common Mistakes:
  • Starting count at 1 instead of 0
  • Taking wrong number of characters
  • Confusing substr with find
4. Identify the error in this C++ code snippet:
std::string s = "example";
s = s.substr(3, 10);
medium
A. substr length exceeds string length but no error occurs
B. substr start index is invalid
C. substr requires two arguments but only one given
D. Cannot assign substr result to string variable

Solution

  1. Step 1: Check substr parameters

    Start index 3 is valid. Length 10 is longer than remaining string length.
  2. Step 2: Understand substr behavior with long length

    substr returns substring from index 3 to end without error even if length is too big.
  3. Final Answer:

    substr length exceeds string length but no error occurs -> Option A
  4. Quick Check:

    substr handles long length safely [OK]
Hint: substr length can be longer than string safely [OK]
Common Mistakes:
  • Expecting runtime error for long length
  • Thinking start index is invalid
  • Confusing substr arguments count
5. Given a string text = "Hello C++ World", which code snippet converts it to all uppercase letters?
hard
A. text.toUpperCase();
B. for (auto &c : text) c = toupper(c);
C. text.upper();
D. transform(text.begin(), text.end(), text.begin(), tolower);

Solution

  1. Step 1: Identify correct uppercase conversion

    Looping over each character and applying toupper() converts all letters to uppercase.
  2. Step 2: Check other options

    toUpperCase() and upper() are not C++ string methods. transform(text.begin(), text.end(), text.begin(), tolower); uses tolower which converts to lowercase.
  3. Final Answer:

    for (auto &c : text) c = toupper(c); -> Option B
  4. Quick Check:

    Use loop + toupper() for uppercase [OK]
Hint: Use loop with toupper() to change case [OK]
Common Mistakes:
  • Using non-existent string methods
  • Using tolower instead of toupper
  • Not using reference in loop to modify string
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