gpt4 book ai didi

c++ - setw 没有按预期工作

转载 作者:太空狗 更新时间:2023-10-29 20:13:54 26 4
gpt4 key购买 nike

我正在尝试以 hh:mm 格式打印时间,但当时间类似于 01:01 时,它打印为 1:1。这是我的代码:

void output(int hour, int min, char ampm){
cout << setw(2) << setfill('0') << "The time is: " << hour << ":" << min << " ";

if(ampm == 'P'){
cout << "PM";
}
else if (ampm == 'A'){
cout << "AM";
}
}

据我了解,这应该有效。我包括 iomanip。你能看出它有什么问题吗?

最佳答案

宽度是一种特殊的格式设置:虽然所有其他格式标志都被固定,但 width() 将由每个输出运算符重置(好吧,您可以有用户定义的输出运算符,它不' 重置 width() 但这样做不会遵循正常的样式)。也就是说,您需要在应该受到影响的输出之前立即设置宽度:

std::cout << std::setfill('0')
<< std::setw(2) << hour << ':'
<< std::setw(2) << min << ' ';

关于c++ - setw 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19038082/

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