问题标签 [iomanip]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
462 浏览

c++ - 如何清除(字符串)流上的所有粘性操纵器?

我正在清除一种std::stringstream通常的方式:

不幸的是,这并不能清除任何粘性操纵器(std::hexstd::setfill等)。

有没有办法重置整个std::stringstream,包括任何 IO 操纵器?或者我是否必须单独手动重置每个机械手(希望在此过程中不要忘记任何机械手)?

0 投票
3 回答
104 浏览

c++ - 尝试使用 C++ 中的列表实现类的方法时出现以下错误!

编辑 1

初步构想:

MAIN.CPP

CARS.H

编辑 2

到目前为止我得到的新版本:

我仍然收到一个错误:

Car.h

0 投票
1 回答
67 浏览

c++ - 似乎无法精确排列十进制数字

我有一个简单的程序,它询问电影的名称,以及 set1 和 set2 的售票数量。然后它对这些值进行一些计算并显示结果。我唯一的问题是我似乎无法按照我想要的方式排列十进制值。

控制台中的最后三行输出应始终如下所示(美元符号和小数点对齐):image。但是当我为票的 set1 输入 1,为票的 set2 输入 0 时,反之亦然,它看起来像这样:image。关于如何使输出始终像第一个屏幕截图中那样排列整齐的任何想法?提前致谢。

0 投票
1 回答
783 浏览

c++ - 在不知道字符串宽度的情况下左右对齐

好的,所以我必须制作一个输出如下所示的程序:

左边的字符串是固定的,我只会输入它们,但右边的总数是变量。我需要找到一种方法来使右侧的变量始终设置在右侧,但是无法告诉变量的宽度(总数是多少位数),因为这取决于用户。我看到的所有答案总是把它当作你知道它会有多宽。这是一个例子:

我找到的每个人都有一个数字,比如五,但问题是,我不知道宽度是五。我想把变量推到右边,不管它的宽度是多少。另外,我已经有了 using namespace std; 编码,所以不需要 std:: 并且我已经编码 #include 所以我使用 setw() 而不是 cout.width()

- - - - - -更新 - - - - -

我知道了!多谢你们!

0 投票
1 回答
51 浏览

g++ - WinGW g++ put_money iomanip 给出了意想不到的结果

我正在尝试格式化货币,使用下面的代码作为测试。

但我得到了意想不到的结果。

我在 Win10 上使用 g++ 版本 4.8.1

在我的 Ubuntu 机器上,使用版本 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)。我得到以下正确结果。

到底是怎么回事??

0 投票
1 回答
1133 浏览

c++ - fstream 和 setw 未正确对齐输出

setw似乎没有为我调整这里的东西,我不知道为什么会这样。插入\t确实会将事情推向右侧,但我希望更严格地控​​制输出的格式。有任何想法吗?

0 投票
2 回答
1978 浏览

c++ - 设置精度返回语句 C++

我想从一个具有设定精度的函数中返回一个双精度值!这可能吗?我想要 10 -5的准确度!

例如 :

0 投票
1 回答
292 浏览

c++ - 使用 setw 的 C++ 文本格式化不适用于 QT 的 QTextEdit

我想将数据写入文件。我正在使用 C++ 的 iomanip 函数格式化该数据,setw 以设置文本字段的宽度。源代码如下:

Linux 文本编辑器“gedit”中的格式看起来不错。但是,当我尝试读取此文件并在 QT 的 QTextEdit 中显示时,格式变得混乱。

使用“C++ 的 setw”函数设置的宽度没有正确显示。为什么会这样?我们需要为 QTextEdit 做一些配置吗?

TextEdit 设置为:

读取文件的代码:

提前致谢。

0 投票
2 回答
313 浏览

c++ - 如何使我的函数对重载的 iostream 提取运算符具有粘性

我正在做一个需要经常更改文本颜色的学校项目。项目目标是当前仅适用于 Windows 的控制台应用程序。使用带有 MinGW 的代码块进行调试。我不是菜鸟,而是中级。

所以在代码中到处使用它是丑陋的:

即使我将它包装在一个函数中,它仍然很麻烦和丑陋,因为你不能继续你的 cout 链。你已经打破了链条,因为你必须SetColour在一个新的语句中调用,例如:

我想要的是类似 , 等的功能setwsetprecision所以我打开iomainp.h并寻找一些提示:

因此,我以 100% 类似的方式创建了自己的新功能:

惊喜!(对我来说)它的工作!例如:

但考虑一下这段代码的输出:

请注意,setw没有粘住,它是在第二行重置。如何 ??(调试显示没有执行额外的调用来重置它。)

但是我的setcolourDID 坚持了程序的其余部分。为什么 ??(尽管它 100% 类似于setw)。

我怎么能setcoloursetw???我需要这个功能来使我的程序更干净和合乎逻辑。

我还发现了这个: 哪些 iomanip 操纵器很粘

但是那里的答案和评论只会让我感到困惑。显然,setw调用 cout.width(0),但调试显示没有这样的调用,也没有在iomanip.h. 也不明白那里的答案。请解释。

编辑

也许我没有直接问这个问题。就像cout.width(0)(在上下文中setw)每次都被调用,

我怎样才能让我的SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0)(在上下文中setcolour)每次都被调用??? 我应该如何解决这个问题?

0 投票
1 回答
137 浏览

c++ - 对齐问题

所以我使用iomanip图书馆来计算这个:

问题是它最终打印了这个:

代替:

有没有办法在不使用其他库的情况下解决这个问题?

编辑:我的运算符重载函数似乎导致了这个问题:

话虽如此,我仍然不知道如何解决这个问题。