Padding stl strings in C++
void padTo(std::string &str, const size_t num, const char paddingChar = ' ')
{
if(num > str.size())
str.insert(0, num - str.size(), paddingChar);
}
int main(int argc, char **argv)
{
std::string str = "abcd";
padTo(str, 10);
return 0;
}
std::setw (setwidth) manipulator
std::cout << std::setw (10) << 77 << std::endl;
or
std::cout << std::setw (10) << "hi!" << std::endl;
outputs padded 77 and "hi!".
if you need result as string use instance of std::stringstream instead std::cout object.
ps: responsible header file <iomanip>