下面的小测试程序打印出来:
SS号IS = 3039
我想要使用填充的左零打印出的数字,使总长度为8.所以:
并且SS号IS = 00003039(注意额外的零左填充)
我想知道如何使用操纵器和一个stringstream来执行,如下所示.谢谢!
测试程序:
#include <iostream> #include <sstream> #include <string> #include <vector> int main() { int i = 12345; std::stringstream lTransport; lTransport << "And SS Number IS =" << std::hex << i << '\n'; std::cout << lTransport.str(); }
解决方法
你看过图书馆的setfill和setw操纵器吗?
#include <iomanip> ... lTransport << "And SS Number IS =" << std::hex << std::setw(8) ; lTransport << std::setfill('0') << i << '\n';
我得到的输出是:
And SS Number IS =00003039