Open In App

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

Last Updated : 05 Sep, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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

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.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads