gpt4 book ai didi

c++ - 我如何使用 iomanip 的 setw、setfill 和左/右? Setfill 不会停止其输出

转载 作者:可可西里 更新时间:2023-11-01 16:10:05 26 4
gpt4 key购买 nike

我试图让我的输出看起来像这样:

size       time1       time2
-------------------------------
10 4 8
100 48 16
1000 2937 922
10000 123011 3902
100000 22407380 830722

我知道我需要使用 setw()setfill()left。但是,我的尝试一直给我错误的输出。这是我的代码的一个示例:

std::cout << "size" << std::setw(20) << "time" << std::setw(20) << "time2\n";
std::cout << std::setfill('-') << std::setw(60) << "-" << std::endl;
run = 10;
for(int i = 0; i < 5; i++) {
std::cout << run;
run *= 10;
std::cout << std::setw(20) << std::left << time1[i];
std::cout << std::setw(20) << std::left << time2[i] << "\n";
}

这是输出:

size    time1    time2
------------------------------------------------------------
103-------------------13------------------
100171-----------------199-----------------
100013183---------------667-----------------
10000670130--------------8205----------------
10000014030798-------------1403079888---------

我已经尝试更改使用 setw()setfill()left 的顺序,但我我现在只是盲目飞行。我还搜索了 iomanip 教程。我正在按照说明进行操作 - 据我所知 - 但我仍然不明白。

如何阻止 setfill() 溢出?我如何左对齐但使用 setw() 来阻止数字相互碰撞?

最佳答案

怎么样:

std::cout << "size" << std::setw(20) << "time" << std::setw(20) << "time2\n";
std::cout << std::setfill('-') << std::setw(60) << "-" << std::endl;
run = 10;
std::cout << std::setfill(' '); //fill with spaces
for(int i = 0; i < 5; i++) {
std::cout << std::setw(20) << std::left << run; // fill the run column
run *= 10;
std::cout << std::setw(20) << std::left << time1[i];
std::cout << std::setw(20) << std::left << time2[i] << "\n";
}

关于c++ - 我如何使用 iomanip 的 setw、setfill 和左/右? Setfill 不会停止其输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22651041/

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