名前空間
変種
操作

std::basic_ostream::write

提供: cppreference.com
< cpp‎ | io‎ | basic ostream
 
 
 
 
basic_ostream& write( const char_type* s, std::streamsize count );

UnformattedOutputFunction として動作します。 sentry オブジェクトの構築および確認の後、最初の要素が s によって指されている文字配列の連続する位置から文字を出力します。 文字は以下のいずれかが発生するまで出力シーケンスに挿入されます。

  • ちょうど count 個の文字が挿入された。
  • 出力シーケンスへの挿入に失敗した (この場合は setstate(badbit) が呼ばれます)。

目次

[編集] 引数

s - 書き込む文字列へのポインタ
count - 書き込む文字数

[編集] 戻り値

*this

[編集] 例外

エラーが発生し (エラー状態フラグが goodbit でなく)、その状態に対して投げるために exceptions() がセットされている場合は failure

内部の操作が例外を投げた場合、それはキャッチされ、 badbit がセットされます。 exceptions()badbit に対してセットされていれば、その例外が投げ直されます。

[編集] ノート

書式付きの operator<< と異なり、この関数は signed char または unsigned char 型に対してオーバーロードされていません。

また、書式付き出力関数と異なり、この関数は失敗した場合に failbit をセットしません。

非変換ロケールを使用するとき (デフォルトのロケールは非変換です)、 std::basic_ofstream のこの関数のオーバーライドはゼロコピーバルク I/O に最適化されているかもしれません (std::streambuf::xsputn をオーバーライドすることによって)。

[編集]

この関数はオブジェクト表現、すなわちバイナリを出力するために使用できます。

#include <iostream>
 
int main()
{
    int n = 0x41424344;
    std::cout.write(reinterpret_cast<char*>(&n), sizeof n) << '\n';
 
    char c[]="This is sample text.";
    std::cout.write(c,4)<<'\n';
}

出力例:

DCBA
This

[編集] 関連項目

文字データを挿入します
(関数テンプレート) [edit]
文字を挿入します
(パブリックメンバ関数) [edit]