<ios>
typedefs
ios
古い iostream
ライブラリの ios
クラスをサポートしています。
typedef basic_ios<char, char_traits<char>> ios;
解説
この型はクラス テンプレート basic_ios
の同意語で、既定の特性を持つ型 char
の要素に対して特殊化されています。
streamoff
内部操作をサポートします。
#ifdef _WIN64
typedef __int64 streamoff;
#else
typedef long streamoff;
#endif
解説
型は符号付き整数です。 ストリームの位置指定操作でバイトオフセットを格納できるオブジェクトを表します。 この表現は、少なくとも 32 ビットあります。 これは、ストリーム内の任意のバイト位置を表すのに必ずしも十分なサイズとは限りません。 streamoff(-1)
の値は、通常誤ったオフセットを示します。
streampos
バッファー ポインターまたはファイル ポインターの現在の位置を保持します。
typedef fpos<mbstate_t> streampos;
解説
型は、fpos
<mbstate_t
> の同意語。
例
// ios_streampos.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main( )
{
using namespace std;
ofstream x( "iostream.txt" );
x << "testing";
streampos y = x.tellp( );
cout << streamoff( y ) << '\n';
}
7
streamsize
ストリームのサイズを表します。
#ifdef _WIN64
typedef __int64 streamsize;
#else
typedef int streamsize;
#endif
解説
型は、さまざまなストリーム操作に関連する要素数のカウントを格納できるオブジェクトを記述する、符号付き整数です。 この表現は、少なくとも 16 ビットあります。 これは、ストリーム内の任意のバイト位置を表すのに必ずしも十分なサイズとは限りません。
例
次のプログラムをコンパイルおよび実行した後に、test.txt
ファイルの中身を見て、streamsize
の設定の効果を確認します。
// ios_streamsize.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main( )
{
using namespace std;
char a[16] = "any such text";
ofstream x( "test.txt" );
streamsize y = 6;
x.write( a, y );
}
wios
古い iostream
ライブラリの wios
クラスをサポートしています。
typedef basic_ios<wchar_t, char_traits<wchar_t>> wios;
解説
この型はクラス テンプレート basic_ios
の同意語で、既定の特性を持つ型 wchar_t
の要素に対して特殊化されています。
wstreampos
バッファー ポインターまたはファイル ポインターの現在の位置を保持します。
typedef fpos<mbstate_t> wstreampos;
解説
型は、fpos
<mbstate_t
> の同意語。
例
// ios_wstreampos.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main( )
{
using namespace std;
wofstream xw( "wiostream.txt" );
xw << L"testing";
wstreampos y = xw.tellp( );
cout << streamoff( y ) << '\n';
}
7