问题标签 [setw]
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++ - 如何在保持显示位数的同时向左移动小数点?
我目前有一个函数,它接受一个结构向量,包括所有浮点数,并且应该在一个简单的计算后返回一些值。
我的 cout 功能很简单
并且控制台中的结果输出是
也就是说,我希望它是
我一直在搞乱 setw() 和 setprecision() 但我并不完全了解它们是如何工作的。
c++ - C++:setw() 只在第一行工作,在循环中
我正在尝试解析一个文本文件,并使用 setw() 将内容输出到控制台并进行格式化。我的问题是只有第一行的格式正确,其余的默认回到左边。
我的目标是让输出与右侧最长的单词(长度为 20 个空格)对齐,但我的输出结果如下:
我希望每个句子在整个循环中右对齐 20 个空格。任何帮助表示赞赏,谢谢!
c++ - setw 和双引号字符串字符之间的交互
我正在尝试制作收据,并且总是希望“kg”在重量之后是一个空格,并且在“costperkg”和“totacost”之前也是“$”最初使用 setw 格式化输出,无法得到它工作,用ostringstream完成。我谁能解释为什么推双引号字符串不起作用?
这个不起作用:
这个有效:
预期的结果是:
ITEM WEIGHT COST/kg COST
A 2.0 kg $1.98 $3.96
我得到的是:
ITEM WEIGHT COST/kg COST
A 2.00 kg$ 1.98$ 3.96
为什么 setw 不起作用?并且对于那些在电话上查看的人来说,每个单词的第一个和第二个生命中的第一个字符应该与第一个字母对齐(A、2、$、$)
c++ - 使用 setw() 函数保存文件时如何获取每个属性的值
我是 C++ 的新手。如果我的问题有任何错误,我很抱歉。
我有一个具有 4 个属性的文件:姓名、职位、生日、薪水
我使用setw()函数以这样的格式保存file.txt
现在,我想读回所有这些属性,每个属性是这个表的每个值,如下所示(例如一个人):
我不知道如何为每个员工获得价值。你能给我一些想法吗?
如果每个属性都已保存并且它们之间用逗号分隔,我将使用
但在这种情况下它不起作用。
c++ - 如何在同一行格式化左右对齐?
如果我正在制作一个数据表来显示几个函数的结果,我如何使用 setw()、left 和 right 关键字来创建一个格式如下的表:
请注意表格的整体“宽度”是如何保持不变的(大约 20 个空格)。但是左边的元素是左对齐的,右边的值是右对齐的。
c++ - 使用 setw(x) 而非 put_money 对齐小数的 C++ cout 列表
C++ 代码运行良好,但当前输出值向右但向左对齐,并且不对齐小数点。不能使用 put_money,我错过了什么?
尝试使用 fprint 和 put_money,与同学确认我们应该使用 setw(x)。
实际输出:
期望的输出:
c++ - 在 c++ 中使用 setw 和 setprecision 时如何显示带有值的 $ 符号
我想在第二列中的值旁边显示美元符号,但如果我将值转换为字符串,setprecision 不起作用,它显示的小数比我想要的多。目前格式看起来不太好。
我当前的代码:
产生这个格式很差的输出:
c++ - Setw 在输出文件中似乎无法始终如一地工作
我正在构建的程序旨在将学生姓名、他们的 5 个分数和他们的成绩从名为“students.txt”的输入文件输出到名为“output.txt”的输出文件中。所需的所有计算都是正确的,但输出文件的格式不正确,因为我希望所有分数和成绩都在其标题下对齐。我的印象是 setw 在其中包含了它所应用的文本,但据我所知,它似乎在同一个文件中的应用不一致。我知道问题在于使用的名称长度不同,我只是不知道如何解决,因为我认为 setw 应该用于在这种情况下进行格式化。这是代码:
这就是我在输出文件中得到的:
c++ - Battle Naval Assignment,无法将数组与 setw() 对齐,您能帮帮我吗?
我有一个任务,简而言之,我必须制作一个简单的海战游戏。我以为这很容易,但我被困住了。但现在我被困住了。我有一个问题,我无法正确显示我的数组,它没有很好地对齐。如果你能帮助我就太好了
我将放两张带有预期和意外结果的图片。
预期结果:
意外结果:
c++ - 从字符串流中读取具有特定字段宽度的 int
我正在尝试从字符串中读取十六进制表示法的字节。不幸的是,字节可能会或可能不会被空格分隔,例如," 00 ffab c "
这是一个有效的示例,应该导致读取 4 个字节,0x00、0xff、0xab 和 0x0c。问题是跳过空格但只读取两个相邻的数字,如果存在的话。
如果输入来自文件,任务将很简单,while(fscanf(f, "%2d", &i) == 1) ...
因为sscanf
跳过空格,读取位置由底层跟踪FILE
,并且最大字段宽度仅应用于读取的项目,而不是包含空格的原始输入字符。但是从字符串读取时无法进行位置跟踪;我需要使用%n
格式转换说明符,它将到目前为止通过此调用读取的字符数存储到关联变量中,例如scanf(f, "%2d%n", &i, &readIncr)
,并通过添加相应的增量来手动维护读取位置。
这有点麻烦,因此我想使用std::istringstream
which来跟踪底层字符串中的位置。
但是在输入流上设置宽度并没有预期的(和预期的)效果;下面是一个最小的演示;为简单起见,我使用十进制整数。输入字段宽度的文档和示例很少。
难道我做错了什么?我这个用例根本不是故意的?
输出是(使用 g++ 和 MSVC)