Skip to content
Related Articles

Related Articles

std::string::resize() in C++

View Discussion
Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 05 Sep, 2022
View Discussion
Improve Article
Save Article

resize() lets you change the number of characters. Here we will describe two syntaxes supported by std::string::resize() in C++ Return Value : None 

Syntax 1: Resize the number of characters of *this to num.

void string ::resize (size_type num)
num: New string length, expressed in number of characters.
Errors: 
Throws length_error if num is equal to string ::npos.
Throws length_error if the resulting size exceeds the maximum number of
characters(max_size()).

Note : If num > size() then, the rest of characters are initialized by the ‘\0’. 

CPP




// CPP code for resize (size_type num)
 
#include <iostream>
#include <string>
using namespace std;
  
// Function to demonstrate insert
void resizeDemo(string str)
{
  
    // Resizes str to a string with
    // 5 initial characters only
    str.resize(5);
    cout << "Using resize : ";
    cout << str;
}
 
// Driver code
int main()
{
    string str("GeeksforGeeks ");
  
    cout << "Original String : " << str << endl;
    resizeDemo(str);
  
    return 0;
}

Output:

Original String : GeeksforGeeks 
Using resize : Geeks

Syntax 2: Uses a character to fill the difference between size() and num.

void string ::resize (size_type num, char c )
num: is the new string length, expressed in number of characters.
c: is the character needed to fill the new character space.
If num > size() : character c is used to fill space.
If num < size() : String is simply resized to num number of characters.
Errors: 
Throws length_error if num is equal to string ::npos.
Throws length_error if the resulting size exceeds the maximum number of
characters(max_size()).

CPP




// CPP code for resize (size_type num, char c )
 
#include <iostream>
#include <string>
using namespace std;
  
// Function to demonstrate insert
void resizeDemo(string str)
{
    cout << "Using resize :" << endl;
    cout << "If num > size() : ";
     
    // Resizes str to character length of
    // 15 and fill the space with '$'
    str.resize(15, '$');
    cout << str << endl;
    cout << "If num < size() : ";
     
    // Resizes str to a string with
    // 5 initial characters only
    str.resize(5, '$');
    cout << str;
}
 
// Driver code
int main()
{
    string str("GeeksforGeeks");
  
    cout << "Original String : " << str << endl;
    resizeDemo(str);
  
    return 0;
}

Output:

Original String : GeeksforGeeks
Using resize :
If num > size() : GeeksforGeeks$$
If num < size() : Geeks

This article is contributed by Sakshi Tiwari. If you like GeeksforGeeks(We know you do!) and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!