C++ 在c++;

C++ 在c++;,c++,padding,C++,Padding,新手问题。如何在C++中填充 STD::String ,然后将填充结果分配给变量?< /P> 我正在查看setfill和setw,但是我看到的所有示例都使用std::cout输出结果。例如: std::cout一般来说,您可以使用和利用流的所有“实用程序”,但“导出”为std::string std::stringstream aSs; aSs << std::left << std::setfill('0') << std::setw(12) <<

新手问题。如何在C++中填充<代码> STD::String ,然后将填充结果分配给变量?< /P> 我正在查看
setfill
setw
,但是我看到的所有示例都使用
std::cout
输出结果。例如:

std::cout一般来说,您可以使用和利用流的所有“实用程序”,但“导出”为
std::string

std::stringstream aSs;
aSs << std::left << std::setfill('0') << std::setw(12) << 123;
aSs.str();  // <--  get as std::string
std::stringstream-aSs;
aSs可以使用与std::cout相同的格式说明符

 std::ostringstream ss;
 ss << std::left << std::setfill('0') << std::setw(12) << 123;

可以使用可用的字符串操作,如:

#包括
#包括
int main()
{
std::string s=“123”;
s、 插入(0,12-s.length(),'0');

std::难道你可以使用
std::ostringstream
来做这件事吗。最好使用最具体的类,这里是
std::ostringstream
。不要毫无理由地调用
std::stringstream
的通用机制。
auto padded{ ss.str() };
#include <iostream>
#include <string>

int main()
{
    std::string s = "123";
    s.insert(0, 12 - s.length(), '0');

    std::cout << s << std::endl;
    return 0;
}