例如,如果我的输出是: -
King of Spades
Queen of Hearts
Four of Diamonds
Nine of Clubs
Three of Diamonds
Deuce of Spades
Ace of Hearts
然后我该怎么做才能表现出来: -
King of Spades
Queen of Hearts
Four of Diamonds
Nine of Clubs
Three of Diamonds
Deuce of Spades
Ace of Hearts
我只需要调整of's
。有人告诉我setw
可以提供帮助。
答案 0 :(得分:2)
计算要显示的第一个单词的最大长度,然后用它调用setw。
cout << setw(5) << "Four" << " of " << "Hearts" << endl;
cout << setw(5) << "Queen" << " of " << "Diamonds" << endl;
显然用变量替换硬编码字符串。
答案 1 :(得分:2)
如果您知道最大字段宽度(在这种情况下为5),那么您确实可以使用setw
将第一个字填充到该宽度:
#include <iostream>
#include <iomanip>
std::cout << std::setw(5) << card.value << " of " << card.suit << std::endl;
可能会感兴趣other manipulators,例如setfill
指定填充填充的字符,left
和right
指定哪一侧填补领域。