質問の趣旨はいかです。
#include <iostream>
using namespace std;
int main()
{//プログラムが上手く機能しない?
int a = 8;
cout << " a = " << a << endl;
cout.setf(ios::oct);
cout << " 8進数 a = " << a << endl;
cout.unsetf(ios::oct);
}
どなたか知っている人がいたら、ご教授願います。
「先ほどの質問」というのはわかりにくいです。プログラムが上手く機能しない?のことでしょうか?shika さんが書きました:先ほどの質問は正しく動作する方でせた。
ios::decのフラグが既に立っているので、ios::octのフラグが無視されると予想できます。shika さんが書きました:なぜ機能しないのかが分かりません。
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << hex << setfill('0');
cout << setw(4) << ios::skipws << ": skipws\n";
cout << setw(4) << ios::unitbuf << ": unitbuf\n";
cout << setw(4) << ios::uppercase << ": uppercase\n";
cout << setw(4) << ios::showbase << ": showbase\n";
cout << setw(4) << ios::showpoint << ": showpoint\n";
cout << setw(4) << ios::showpos << ": showpos\n";
cout << "--\n";
cout << setw(4) << ios::left << ": left\n";
cout << setw(4) << ios::right << ": right\n";
cout << setw(4) << ios::internal << ": internal\n";
cout << "--\n";
cout << setw(4) << ios::dec << ": dec\n";
cout << setw(4) << ios::oct << ": oct\n";
cout << setw(4) << ios::hex << ": hex\n";
cout << "--\n";
cout << setw(4) << ios::scientific << ": scientific\n";
cout << setw(4) << ios::fixed << ": fixed\n";
cout << "--\n";
cout << setw(4) << ios::boolalpha << ": boolalpha\n";
cout << "==\n";
cout << setw(4) << ios::adjustfield<< ": adjustfield = left | right | internal\n";
cout << setw(4) << ios::basefield << ": basefield = dec | oct | hex\n";
cout << setw(4) << ios::floatfield << ": floatfield = scientific | fixed\n";
cout << "==\n";
cout << setw(4) << cout.flags() << ": flags()\n";
}
0001: skipws
0002: unitbuf
0004: uppercase
0008: showbase
0010: showpoint
0020: showpos
--
0040: left
0080: right
0100: internal
--
0200: dec
0400: oct
0800: hex
--
1000: scientific
2000: fixed
--
4000: boolalpha
==
01c0: adjustfield = left | right | internal
0e00: basefield = dec | oct | hex
3000: floatfield = scientific | fixed
==
0801: flags()
0000: width()
0006: precition()
1000: skipws
2000: unitbuf
4000: uppercase
0200: showbase
0400: showpoint
0800: showpos
--
0020: left
0080: right
0010: internal
--
0002: dec
0040: oct
0008: hex
--
0100: scientific
0004: fixed
--
0001: boolalpha
==
00b0: adjustfield = left | right | internal
004a: basefield = dec | oct | hex
0104: floatfield = scientific | fixed
==
1008: flags()