下面的小測試程序顯示出:如何使用機械手到我的十六進制輸出格式,用填充左零
和SS數爲= 3039
我想數量與填充打印出來左零,使總長度爲8,所以說:
和SS數爲= 00003039(注意額外的零左填充)
而且我想知道如何做到這一點通過操縱和字符串流作爲如下所示。謝謝!
測試程序:
#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();
}
如果我在格式化的h之前和之後添加東西例如,填充和寬度如何影響事物?有沒有辦法讓他們只應用於格式化的十六進制而不是整個串流? – bbazso 2010-03-02 19:39:44
我編輯了我的答案以添加代碼。我希望它能爲你工作。哦!看起來像「Let_Me_Be」擊敗了我! – 2010-03-02 19:43:21
設置格式化程序並寫入整數的stringstreamm後,可以根據需要重新調整setw()和setfill()。或者,您也可以使用sprintf(char_buf,'%08X',i)預格式化c字符串並將其寫入到字符串流中。 – 2010-03-02 19:48:22