Rogue Wave バナー
前へマニュアルの先頭へ目次次へ

9.4 バイナリモードとテキストモード

テキストファイルの表現方法は、オペレーティングシステムによって異なります。たとえば、UNIX 環境における行末は、改行文字 '\n' で表します。また、PC ベースのシステムでは、行末は、キャリッジリターン '\r'改行 '\n' で表します。この 2 種類のオペレーティングシステムでは、ファイルの末尾も同様に異なります。他のオペレーティングシステムでもそれぞれに特色があります。

オペレーティングシステム間のプログラムの移植を促進するために、入出力時に自動変換をすることができるようになっています。たとえば、キャリッジリターンシーケンスや改行シーケンスは、'\n' の 1 文字に変換することができ、'\n' は出力時に "\r\n" に展開することができます。バイナリモードに対して、この変換モードをテキストモードといいます。バイナリモードでは、このような変換は行われません。

モードフラグ ios_base::binary を設定すると、ファイルがバイナリモードで開かれます。つまり、"\r\n"'\n' に変換するといった、前述の自動変換機能が無効になります。 13

バイナリファイルを処理する場合は、binary モードフラグを設定してください。これにより、暗黙のシステム固有の変換が実行されるのを防ぎます。

バイナリオープンモードのはたらきについては、誤解しやすいので注意してください。バイナリモードでは、挿入子や抽出子は挿入されません。したがって、挿入子や抽出子による書式設定も行われません。バイナリ入力とバイナリ出力を実行するには、basic_istream <charT> ::read()basic_ostream <charT> ::write() だけを実行します。


前へマニュアルの先頭へ目次次へ

Copyright (c) 1998, Rogue Wave Software, Inc.
このマニュアルに関する誤りのご指摘やご質問は、電子メールにてお送りください。


OEM リリース, 1998 年 6 月