狠狠撸
Submit Search
厂迟谤辞耻蝉迟谤耻辫11章雑感
?
Download as KEY, PDF
?
1 like
?
590 views
3
31 00
Follow
本章で扱われなかったマニピュレータについて。 社内勉強会用。
Read less
Read more
1 of 22
Download now
Download to read offline
More Related Content
厂迟谤辞耻蝉迟谤耻辫11章雑感
1.
20代で知っておくべき マニピュレータのこと
第11章雑感 by sato@ipl
2.
マニピュレータの分別 <iostream>で定義されているマニピュレータ <iomanip>で定義されているマニピュレータ
3.
<iostream> boolalpha, noboolalpha showbase, noshowbase showpoint,
noshowpoint skipws, noskipws unitbuf, nounitbuf uppercase, nouppercase dec, hex, oct ?xed, scienti?c internal, left, right ws endl, ends, ?ush
4.
<iomanip> setios?ags, resetios?ags setbase set?ll setprecision setw
5.
<iostream>
6.
boolalpha, noboolalpha bool型と”true”,”false”を変換します。<istream> <ostream> #include
<iostream> using namespace std; int main() { ! bool b; ! b = true; ! cout << boolalpha << b << endl; ! cout << noboolalpha << b << endl; ! return 0; } true 1
7.
showpoint, noshowpoint 必要がない場合でも小数点を表示します。<ostream> #include <iostream> using
namespace std; int main() { ! double a, b, pi; ! a = 30.0; ! b = 10000.0; ! pi = 3.1416; ! cout.precision(5); ! cout << showpoint << a << 't' << b << 't' << pi << endl; ! cout << noshowpoint << a << 't' << b << 't' << pi << endl; ! return 0; } 30.000! 10000.! 3.1416 30! 10000! 3.1416
8.
showpos, noshowpos 正の数値の前に+符号を表示します。<ostream> #include <iostream> using
namespace std; int main() { ! signed int p, z, n; ! p = 1; ! z = 0; ! n = -1; ! cout << showpos << p << 't' << z << 't' << n << endl; ! cout << noshowpos << p << 't' << z << 't' << n << endl; ! return 0; } +1! 0! -1 1! 0! -1
9.
skipws, noskipws ストリームからの読み込み時に、ホワイトスペースを読み飛ばします。<istream> #include <iostream> #include
<sstream> using namespace std; int main() { ! char a, b, c; ! istringstream iss ("! 123"); ! iss >> skipws >> a >> b >> c; ! cout << a << b << c << endl; ! iss.seekg(0); ! iss >> noskipws >> a >> b >> c; ! cout << a << b << c << endl; ! return 0; } 123 ! 12
10.
uppercase, nouppercase 数値の文字表記の際に大文字で表示します。<ostream> #include <iostream> #include
<string> using namespace std; int main(){ ! cout << showbase << hex; ! cout << uppercase << 77 << endl; ! cout << nouppercase << 77 << endl; ! return 0; } 0X4D 0x4d
11.
unitbuf, nounitbuf 出力毎にバッファをフラッシュします。<ostream> #include <fstream> using
namespace std; int main() { ! ofstream out?le("test.txt"); ! out?le << unitbuf << "Test " << "?le" << endl; ! out?le.close(); ! return 0; } Test ?le
12.
internal, left, right 数値出力を符号と数値で分けるか、左寄せ、右寄せに指定します。<ostream> #include
<iostream> using namespace std; int main() { ! int n; ! n = -77; ! cout.width(6); ! cout << internal << n << endl; ! cout.width(6); ! cout << left << n << endl; ! cout.width(6); ! cout << right << n << endl; ! return 0; } - 77 -77 -77
13.
ws ホワイトスペースを抽出します。<istream> #include <iostream> #include <sstream> using
namespace std; int main() { ! char a[10], b[10]; ! istringstream iss ("one n t two"); ! iss >> noskipws; ! iss >> a >> ws >> b; ! cout << a << "," << b << endl; ! return 0; } one,two
14.
endl, ends 改行、ヌル文字(‘0’)を追加します。<ostream> #include <iostream> using
namespace std; int main() { ! int a = 100; ! double b = 3.14; ! cout << a; ! cout << endl; ! cout << b << ends << a*b << endl; ! return 0; } 100 3.14314
15.
<iomanip>
16.
setios?ags, resetios?ags 複数のフラグを設定、解除します。<istream> <ostream> #include
<iostream> #include <iomanip> using namespace std; int main() { ! cout << hex << setios?ags(ios_base::showbase | ios_base::uppercase); ! cout << 100 << endl; ! cout << resetios?ags(ios_base::showbase | ios_base::uppercase); ! cout << 100 << endl; ! return 0; } 0X64 64
17.
setbase 基数を指定します。 <ostream> #include <iostream> #include
<iomanip> using namespace std; int main() { ! cout << setbase(16) << 100 << endl; ! return 0; } 64
18.
set?ll 文字列に対して指定した文字を埋めます。<ostream> #include <iostream> #include <iomanip> using
namespace std; int main() { ! cout << set?ll('x') << setw(10); ! cout << 77 << endl; ! return 0; } xxxxxxxx77
19.
ところで <iostream>と<iomanip>のマニピュレータの 違いは?
20.
ところで <iostream>と<iomanip>のマニピュレータの 違いは?
A. 引数なしか引数付きか
21.
以上
22.
参考文献 manipulators - C++
Reference C++入出力フラグ
Editor's Notes
#2:
\n
#3:
\n
#4:
\n
#5:
\n
#6:
\n
#7:
\n
#8:
\n
#9:
\n
#10:
\n
#11:
\n
#12:
\n
#13:
\n
#14:
\n
#15:
\n
#16:
\n
#17:
\n
#18:
\n
#19:
\n
#20:
\n
#21:
\n
#22:
\n
#23:
\n
Download