gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 03:48:57 39 4
gpt4 key购买 nike

setw 似乎没有为我调整这里的内容,我不明白为什么会这样。插入 \t 确实会把事情推到右边,但我想更严格地控​​制输出的格式。有什么想法吗?

#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

int main() {

string name = "Name LastName";
int age = 27;
double milesRun = 15.5;

ofstream outFile;
outFile.open("text.txt");

outFile << "Person's name: " << name << setw(12) << "Person's age: " << age << setw(12) << "Miles run: " << milesRun << endl;

outFile.close();

return 0;
}

最佳答案

请记住,在使用 setw 时,该函数用于声明即将 出现的区域。因此,您可以使用它来声明静态值,例如您的信息中的文本,例如 "Person's Name:" 通过计算字符并将其用作您的值(通常为 +1 或 2)。以此为例,该值将是 setw(16) 以说明每个字符 + 2 个空格。然后应用另一个 setw 值来声明即将到来的字段,选择一个足够大的值来容纳您的数据。请记住将 left 对齐,以便您可以看到这如何影响您的输出。在您的示例中,您是正确对齐的,虽然在某些示例中这可能会提供格式化输出,但在其他示例中它会中断,如您所见。


如果您希望每个数据集之间有更多空间,那么只需像 this 中那样增加字段的宽度例子。这样一切都保持对齐,您不需要制表符。

关于c++ - fstream 和 setw 没有正确对齐输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32880812/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com