std::setw() が特殊文字を 2 文字と見なすのはなぜですか? これを解決する簡単でスタイリッシュな方法はありますか?
例:
#include <iostream>
#include <iomanip>
int main()
{
std::cout << std::left << std::setw(10) << "ok" << "ok" << std::endl;
std::cout << std::left << std::setw(10) << "test.." << "ok again" << std::endl;
std::cout << std::left << std::setw(10) << "®èé" << "fail" << std::endl;
return 0;
}
出力:
ok ok
test.. ok again
®èé fail
これがライブテストです: http://ideone.com/q57I0H