How to pad a string on both sides in C++

1 Answer

0 votes
#include <iostream>
#include <string>
 
std::string padString(const std::string& input, char padChar, size_t totalLength) {
    if (input.length() >= totalLength) {
        return input; // No padding needed if the input is already long enough
    }
 
    size_t paddingNeeded = totalLength - input.length();
    size_t leftPadding = paddingNeeded / 2;
    size_t rightPadding = paddingNeeded - leftPadding;
 
    std::string paddedString = std::string(leftPadding, padChar) + input + 
                               std::string(rightPadding, padChar);
     
    return paddedString;
}
 
int main() {
    std::string str = "C++";
    char padChar = '*';
    size_t totalLength = 10;
 
    std::string result = padString(str, padChar, totalLength);
     
    std::cout << "Padded String: " << result << std::endl;
}
 
 
 
/*
run:
 
Padded String: ***C++****
 
*/

 



answered Jul 5, 2025 by avibootz
edited Jul 5, 2025 by avibootz

Related questions

3 answers 127 views
3 answers 144 views
1 answer 97 views
1 answer 119 views
1 answer 102 views
1 answer 105 views
1 answer 95 views
...