小编alo*_*nbe的帖子

解决std :: showbase没有前缀为零的问题

无法在线寻求帮助.有没有办法解决这个问题?

std::showbase仅增加了一个前缀(例如,0x在以下情况下std::hex)为非零数(如所解释这里).我想要一个格式化的输出0x0,而不是0.

但是,仅使用:std::cout << std::hex << "0x" << ....不是一个选项,因为右侧参数可能并不总是整数(或等价物).我正在寻找一个showbase替换,它将前缀为0 0x而不是扭曲非int(或等价物),如下所示:

using namespace std;

/* Desired result: */
cout << showbase << hex << "here is 20 in hex: " << 20 << endl; // here is 20 in hex: 0x14

/* Undesired result: */
cout << hex << "0x" << "here is 20 in hex: " << 20 << endl;     // 0xhere is 20 in hex: …
Run Code Online (Sandbox Code Playgroud)

c++ std c++11

6
推荐指数
1
解决办法
607
查看次数

标签 统计

c++ ×1

c++11 ×1

std ×1