#include <iostream>
#include <iomanip>

using namespace std;

int main() {
    int x = 44;
    cout << setiosflags(ios::oct) << x;
}

为什么我得到的输出是(十进制)44而不是(八进制)54?我该如何更改?

最佳答案

引用documentation,您应该首先清除所有格式标志



写这样的东西;

cout << std::resetiosflags(std::ios_base::dec) << setiosflags(ios_base::oct) << x;

关于c++ - 为什么C++中的setiosflags似乎没有设置指定的标志?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41340933/

10-09 16:45