[新規] [編集]
なお,このコードは以下のようにしても同じである.
引数のあるマニピュレータは「iomanip?」標準ライブラリをinclude?する必要がある. →include?参照
cout(C++)
☆
cout(しーあうと)とは,C++においてコンソール上に文字列を出力する最も簡単な仕組みである.書式
☆
coutの一番単純な使い方は以下のようになる.#include <iostream>
std::cout << 出力する文字列;C++では文字列はダブルクオート(")で囲むことになっているので,「出力する文字列」もダブルクオートで囲むことに注意する.C++では基本的に半角文字しか使えないが,ダブルクオートの間なら日本語などの全角文字も使うこともできる.
include
名前空間
☆
細かい話をすると,coutは「std」名前空間?で定義されているため「std::cout」と書かなければいけない.いちいち「std::」を付けるのが面倒な場合は,以下のようにusingディレクティブ?を用いて可視化することができる. →名前空間?,usingディレクティブ?,大域演算子?参照using std::cout;もしくは,「std」名前空間?全体を可視化しても良い.
using namespace std;要は,これらのどちらかを行った場合,以下のように,「std::」を付ける必要はなくなるということである.
#include <iostream> using namespace std; cout << 出力する文字列;このことは,後述するマニピュレータに関しても同様である.
連結
☆
「出力する文字列」は上記のように1つではなく,同時に複数指定することもできる.その際には,「<<」で連結する.coutのこの使い方の例になっているのが,Hello,World!プログラムである.std::cout << "Hello,World!" << std::endl;ここでは,「"Hello,World!"」と「endl」を同時に(連続して)指定している.「endl」はマニピュレータの一種であり,改行を指示するものである.
なお,このコードは以下のようにしても同じである.
std::cout << "Hello,World!"; std::cout << std::endl;文字列と文字列,マニピュレータとマニピュレータを連結してもかまわないし,3つ以上の連結も可能である.
マニピュレータ
☆☆
マニピュレータとは,入出力に対して何かしらの操作をするものである.coutに対する主なマニピュレータを挙げる.すべて「std」名前空間?で定義されている.| endl | 改行文字('\n')を出力してバッファをフラッシュする |
| ends | ヌル文字('\0')を出力する |
| flush | バッファをフラッシュする(まだ出力されていない部分を出力する) |
| setw(int n) | 次の出力の文字幅を n に指定する |
| setfill(char c) | 次の出力の文字幅を n に指定する |
| dec | 以降の整数を10進数で出力を行う |
| hex | 以降の整数を16進数で出力を行う |
| oct | 以降の整数を8進数で出力を行う |
| showbase | 基数を明確にして出力を行う |
| fixed | 以降の小数を10進表記法で出力する |
| scientific | 以降の小数を科学的記法(指数表記法)で出力する |
| showpos | 以降の正数に正の符号を付ける |
| left | 以降の出力を左揃えにする |
| right | 以降の出力を右揃えにする |
| internal | 以降の出力を符号は左揃え,値は右揃えにする |
| boolalpha | 以降のbool値を"true"か"false"で出力する |