ㄧ、问题描述
如果要cout像以下这样的格式时,该怎么做呢?
这样的cout困难点在于:数字跟字串长度不固定。
这样导致第二行最后面的"="难以对齐
二、解法如下:
设一个counter,记录每个字串的长度
int counter = 0;
对于字串,counter加上字串的长度
string name = "AIG";counter += name.length();
对于数字,先经过std::to_string( ),再加上其长度
int id = 19;string s_id = std::to_string(id);counter += s_id.length();
最后在输出line: 的时候,做setw( )跟right的配合
int lineNo = 200;string s_lineNo = std::to_string(lineNo);cout << setw(38-counter) << right << s_lineNo;
最后就可以输出=啦!
cout << "=" << endl;
希望这个内容可以帮助你们对于一些不简单的os输出格式有不同的想法。感谢收看!