Horje
How to Resize an Array of Strings in C++?

In C++, the array of strings is useful for storing many strings in the same container. Sometimes, we need to change the size of this array. In this article, we will look at how to resize the array of strings in C++.

Resize String Array in C++

There is no way to directly resize the previously allocated memory. But we can create a new array, copy all the elements, and then delete the previous array using new and delete operators.

C++ Programs to Resize an Array in Strings

C++

// C++ Program to Resize and Copy Elements in Dynamic Array
  
#include <iostream>
  
using namespace std;
  
int main()
{
    // Create an array of strings
    string* oldArray
        = new string[5]{ "Apple", "Banana", "Cherry",
                         "Date", "Fig" };
  
    // Display the elements in the old array
    cout << "Old Array Elements:" << endl;
    for (int i = 0; i < 5; ++i) {
        cout << oldArray[i] << endl;
    }
  
    // Create a new array with a larger size (e.g., double
    // the size)
    int newSize = 7;
    string* newArray = new string[newSize];
  
    // Copy elements from the old array to the new array
    for (int i = 0; i < 5; ++i) {
        newArray[i] = oldArray[i];
    }
    newArray[5] = "kiwi";
    newArray[6] = "dragonfruit";
  
    // Delete the old array
    delete[] oldArray;
  
    // Display the elements in the new array
    cout << "New Array Elements:" << endl;
    for (int i = 0; i < newSize; ++i) {
        cout << newArray[i] << endl;
    }
  
    // Delete the new array
    delete[] newArray;
  
    return 0;
}

Output

Old Array Elements:
Apple
Banana
Cherry
Date
Fig
New Array Elements:
Apple
Banana
Cherry
Date
Fig
kiwi
dragonfruit

Instead of this type of array we can use dynamic std::vector of strings which by default enables dynamic resizing.




Reffered: https://www.geeksforgeeks.org


C++

Related
How to Remove Last Character From C++ String? How to Remove Last Character From C++ String?
How to Take Multiple Line String Input in C++? How to Take Multiple Line String Input in C++?
Group Vector of Pair Elements in Multimap Group Vector of Pair Elements in Multimap
Difference Between Array of Characters and std::string in C++ Difference Between Array of Characters and std::string in C++
How to Read a Line of Input Text in C++? How to Read a Line of Input Text in C++?

Type:
Geek
Category:
Coding
Sub Category:
Tutorial
Uploaded by:
Admin
Views:
13