0

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

4

1 に答える 1

0

これら2 文字です。値を確認してくださいsizeof("®èé")

于 2014-02-26T12:20:44.063 に答える