1
我是新的C++。我試圖實現一個方法,它必須將一個向量打印到一個矩陣中,但是我的實現非常愚蠢。 下面是一個exampe應該如何工作:它具有4個字符串打印矢量<string>矩陣
std::vector<std::string> vec = {"abcd", "def", "ghi", "jkld"};
和輸出應該是一個矩陣,其中元素爲右對齊,並具有僅2列的向量。列shold具有相等的寬度,寬度等於最長的字符串+ 1,像這樣:
-------------
| abcd| def|
| ghi| jkld|
-------------
這裏是我的本錢:
void print_table(std::ostream& out, const std::vector<std::string>& vec){
for (const auto& array : vec)
out.width(); out << "-" << std::endl;
for (auto x : vec) {
out.width(); out<<"|" << std::right << x<< " |";
out.width(); out <<"|" << std::right << x<< " | ";
}
out.width(); out << "-" << '\n';
}
我真的不明白是什麼我做錯了。
你看了,你使用的事情應該如何工作的?看起來你根本不明白你在做什麼。否則...你不明白什麼?發生什麼事?目前你說「這是任務,我的代碼不起作用」。 – luk32
@ luk32是的,我真的不明白我在做什麼。 – Lemmy
如果在打印任何內容之前知道最長字符串的長度,這應該相當簡單。 – Logicrat