std::string::resize() in C++
Last Updated : 05 Sep, 2022
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.