首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用C++中的几个标志打印十进制数作为八进制数

如何使用C++中的几个标志打印十进制数作为八进制数
EN

Stack Overflow用户
提问于 2019-08-16 11:15:33
回答 4查看 339关注 0票数 3

我试过这个

代码语言:javascript
复制
cout. setf(ios::oct, ios::basefield) ;
cout << 79 << endl;

它可以工作,但使用机械手的标志。

代码语言:javascript
复制
cout << setiosflags (ios::oct) << 79 << endl;

它不起作用,屏幕上还有79张印刷品。

虽然我听说setiosflags是‘`setf’的替代品。

那么如何用setiosflags打印十进制数作为八进制数呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-08-16 11:23:48

您需要首先使用性病::香根草旗重置标志

代码语言:javascript
复制
#include <iostream>
#include <iomanip>

int main()
{
  int x = 42;
  std::cout << std::resetiosflags(std::ios_base::dec)
            << std::setiosflags(std::ios_base::hex | std::ios_base::showbase)
            << x;
}

| std::ios_base::showbase部分是可选的。

票数 4
EN

Stack Overflow用户

发布于 2019-08-16 11:18:28

保持简单和愚蠢(或简短的接吻):

代码语言:javascript
复制
std::cout << std::oct << 79 << std::endl;

std::octstr.setf(std::ios_base::oct, std::ios_base::basefield)的语法糖,正如您注意到的那样,这是强制流以八进制符号打印整数值的方法之一。

在网上看

票数 6
EN

Stack Overflow用户

发布于 2019-08-16 11:28:07

你也可以用

代码语言:javascript
复制
 printf("%o",79);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57523671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档