问题标签 [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.
c++ - 如何清除(字符串)流上的所有粘性操纵器?
我正在清除一种std::stringstream
通常的方式:
不幸的是,这并不能清除任何粘性操纵器(std::hex
、std::setfill
等)。
有没有办法重置整个std::stringstream
,包括任何 IO 操纵器?或者我是否必须单独手动重置每个机械手(希望在此过程中不要忘记任何机械手)?
c++ - 尝试使用 C++ 中的列表实现类的方法时出现以下错误!
编辑 1
初步构想:
MAIN.CPP
:
CARS.H
:
编辑 2
到目前为止我得到的新版本:
我仍然收到一个错误:
Car.h
:
c++ - 在不知道字符串宽度的情况下左右对齐
好的,所以我必须制作一个输出如下所示的程序:
左边的字符串是固定的,我只会输入它们,但右边的总数是变量。我需要找到一种方法来使右侧的变量始终设置在右侧,但是无法告诉变量的宽度(总数是多少位数),因为这取决于用户。我看到的所有答案总是把它当作你知道它会有多宽。这是一个例子:
我找到的每个人都有一个数字,比如五,但问题是,我不知道宽度是五。我想把变量推到右边,不管它的宽度是多少。另外,我已经有了 using namespace std; 编码,所以不需要 std:: 并且我已经编码 #include 所以我使用 setw() 而不是 cout.width()
- - - - - -更新 - - - - -
我知道了!多谢你们!
g++ - WinGW g++ put_money iomanip 给出了意想不到的结果
我正在尝试格式化货币,使用下面的代码作为测试。
但我得到了意想不到的结果。
我在 Win10 上使用 g++ 版本 4.8.1
在我的 Ubuntu 机器上,使用版本 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)。我得到以下正确结果。
到底是怎么回事??
c++ - fstream 和 setw 未正确对齐输出
setw
似乎没有为我调整这里的东西,我不知道为什么会这样。插入\t
确实会将事情推向右侧,但我希望更严格地控制输出的格式。有任何想法吗?
c++ - 设置精度返回语句 C++
我想从一个具有设定精度的函数中返回一个双精度值!这可能吗?我想要 10 -5的准确度!
例如 :
c++ - 使用 setw 的 C++ 文本格式化不适用于 QT 的 QTextEdit
我想将数据写入文件。我正在使用 C++ 的 iomanip 函数格式化该数据,setw 以设置文本字段的宽度。源代码如下:
Linux 文本编辑器“gedit”中的格式看起来不错。但是,当我尝试读取此文件并在 QT 的 QTextEdit 中显示时,格式变得混乱。
使用“C++ 的 setw”函数设置的宽度没有正确显示。为什么会这样?我们需要为 QTextEdit 做一些配置吗?
TextEdit 设置为:
读取文件的代码:
提前致谢。
c++ - 如何使我的函数对重载的 iostream 提取运算符具有粘性
我正在做一个需要经常更改文本颜色的学校项目。项目目标是当前仅适用于 Windows 的控制台应用程序。使用带有 MinGW 的代码块进行调试。我不是菜鸟,而是中级。
所以在代码中到处使用它是丑陋的:
即使我将它包装在一个函数中,它仍然很麻烦和丑陋,因为你不能继续你的 cout 链。你已经打破了链条,因为你必须SetColour
在一个新的语句中调用,例如:
我想要的是类似 , 等的功能setw
。setprecision
所以我打开iomainp.h
并寻找一些提示:
因此,我以 100% 类似的方式创建了自己的新功能:
惊喜!(对我来说)它的工作!例如:
但考虑一下这段代码的输出:
请注意,setw
没有粘住,它是在第二行重置。如何 ??(调试显示没有执行额外的调用来重置它。)
但是我的setcolour
DID 坚持了程序的其余部分。为什么 ??(尽管它 100% 类似于setw
)。
我怎么能setcolour
像setw
???我需要这个功能来使我的程序更干净和合乎逻辑。
我还发现了这个: 哪些 iomanip 操纵器很粘
但是那里的答案和评论只会让我感到困惑。显然,setw
调用 cout.width(0),但调试显示没有这样的调用,也没有在iomanip.h
. 也不明白那里的答案。请解释。
编辑
也许我没有直接问这个问题。就像cout.width(0)
(在上下文中setw
)每次都被调用,
我怎样才能让我的SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0)
(在上下文中setcolour
)每次都被调用???
我应该如何解决这个问题?
c++ - 对齐问题
所以我使用iomanip
图书馆来计算这个:
问题是它最终打印了这个:
代替:
有没有办法在不使用其他库的情况下解决这个问题?
编辑:我的运算符重载函数似乎导致了这个问题:
话虽如此,我仍然不知道如何解决这个问题。