#include <iostream>
#include<iomanip>
using namespace std;
int main() {
int x=44;
cout<<setiosflags(ios::oct)<<x;
return 0;
}
出力を44にしています。 これはなぜですか? 出力を54にしたい場合は何ができますか? < < resetiosflagsの(マスク)を表現または resetiosflagsの(マスク)>>で使用する場合C++のsetiosflagsがこのように動作するのはなぜですか?
たとえば、 [この 'setiosflags'リファレンス](http://en.cppreference.com/w/cpp/io/manip/setiosflags)では、この例では[' resetiosflags'](http://en.cppreference.com)が呼び出されます/ w/cpp/io/manip/resetiosflags)を使用します。あなたはそれを試しましたか? –
フラグを1つしか設定していないので、代わりに['std :: oct'](http://en.cppreference.com/w/cpp/io/manip/hex)を使うべきです:' cout << oct << x; ' –
http://stackoverflow.com/users/440558/some-programmer-dude私は言及したリンクを参照しましたが、なぜそれがリセット後に機能しますか? – gk123