Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sınıf şablonu, herhangi bir akış içinde rastgele bir dosya konumu göstergesini geri yüklemek için gereken tüm bilgileri depolayan bir nesneyi açıklar. fpos<St> sınıfının bir nesnesi en az iki üye nesnesini etkili bir şekilde depolar:
Streamoff türünde bir bayt uzaklığı.
genellikle türünde
Stmbstate_tbir sınıf basic_filebuf nesnesi tarafından kullanılmak üzere dönüştürme durumu.
Ayrıca, türündeki fpos_tbir sınıf basic_filebuf nesnesi tarafından kullanılmak üzere rastgele bir dosya konumu depolayabilir. Bununla birlikte, streamoff sınırlı dosya boyutuna sahip bir ortam için ve fpos_t bazen birbirinin yerine kullanılabilir. Durum bağımlı kodlaması mbstate_t olan akışları olmayan bir ortam için aslında kullanılmamış olabilir. Bu nedenle, depolanan üye nesnelerinin sayısı değişebilir.
Sözdizimi
template <class Statetype>
class fpos
Parametreler
Statetype
Durum bilgileri.
Oluşturucular
| Oluşturucu | Açıklama |
|---|---|
| fpos | Bir akıştaki konum (uzaklık) hakkında bilgi içeren bir nesne oluşturun. |
Üye işlevleri
| Üye işlevi | Açıklama |
|---|---|
| seekpos | Yalnızca C++ Standart Kitaplığı tarafından dahili olarak kullanılır. Bu yöntemi kodunuzdan çağırmayın. |
| state | Dönüştürme durumunu ayarlar veya döndürür. |
İşleçler
| Operator | Açıklama |
|---|---|
| operator!= | Eşitsizlik için dosya konumu göstergelerini sınar. |
| işleç+ | Dosya konumu göstergesini artırır. |
| operator+= | Dosya konumu göstergesini artırır. |
| operatör- | Dosya konumu göstergesini azaltma. |
| operator-= | Dosya konumu göstergesini azaltma. |
| operator== | Eşitlik için dosya konumu göstergelerini sınar. |
| işleç streamoff | Türün nesnesini türüne fpos streamoffdönüştürür. |
Gereksinimler
Üst Bilgi:<ios>
Ad alanı: std
fpos::fpos
Bir akıştaki konum (uzaklık) hakkında bilgi içeren bir nesne oluşturun.
fpos(streamoff _Off = 0);
fpos(Statetype _State, fpos_t _Filepos);
Parametreler
_Kapalı
Akışa uzaklık.
_Devlet
Nesnenin fpos başlangıç durumu.
_Filepos
Akışa uzaklık.
Açıklamalar
İlk oluşturucu, dosyanın başına ve ilk dönüştürme durumuna göre uzaklık _Off depolar. _Off -1 ise, sonuçta elde edilen nesne geçersiz bir akış konumunu temsil eder.
İkinci oluşturucu sıfır uzaklığı depolar ve nesne _State.
fpos::operator!=
Eşitsizlik için dosya konumu göstergelerini sınar.
bool operator!=(const fpos<Statetype>& right) const;
Parametreler
Sağ
Karşılaştırılan dosya konumu göstergesi.
Dönüş Değeri
true dosya konumu göstergeleri eşit değilse, aksi takdirde false.
Açıklamalar
Üye işlevi döndürür !(*this == right).
Örnek
// fpos_op_neq.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>
int main( )
{
using namespace std;
fpos<int> pos1, pos2;
ifstream file;
char c;
// Compare two fpos object
if ( pos1 != pos2 )
cout << "File position pos1 and pos2 are not equal" << endl;
else
cout << "File position pos1 and pos2 are equal" << endl;
file.open( "fpos_op_neq.txt" );
file.seekg( 0 ); // Goes to a zero-based position in the file
pos1 = file.tellg( );
file.get( c);
cout << c << endl;
// Increment pos1
pos1 += 1;
file.get( c );
cout << c << endl;
pos1 = file.tellg( ) - fpos<int>( 2);
file.seekg( pos1 );
file.get( c );
cout << c << endl;
// Increment pos1
pos1 = pos1 + fpos<int>( 1 );
file.get(c);
cout << c << endl;
pos1 -= fpos<int>( 2 );
file.seekg( pos1 );
file.get( c );
cout << c << endl;
file.close( );
}
fpos::operator+
Dosya konumu göstergesini artırır.
fpos<Statetype> operator+(streamoff _Off) const;
Parametreler
_Kapalı
Dosya konumu göstergesini artırmak istediğiniz uzaklık.
Dönüş Değeri
Dosyadaki konum.
Açıklamalar
Üye işlevi döndürür fpos(*this) +=_Off.
Örnek
kullanma operator+örneği için bkz. işleç!= .
fpos::operator+=
Dosya konumu göstergesini artırır.
fpos<Statetype>& operator+=(streamoff _Off);
Parametreler
_Kapalı
Dosya konumu göstergesini artırmak istediğiniz uzaklık.
Dönüş Değeri
Dosyadaki konum.
Açıklamalar
Üye işlevi depolanan uzaklık üye nesnesine _Off ekler ve döndürür*this. Dosyalarla çalışırken, sonuç yalnızca duruma bağımlı kodlaması olmayan ikili akışlar için geçerlidir.
Örnek
kullanma operator+=örneği için bkz. işleç!= .
fpos::operator-
Dosya konumu göstergesini azaltma.
streamoff operator-(const fpos<Statetype>& right) const;
fpos<Statetype> operator-(streamoff _Off) const;
Parametreler
Sağ
Dosya konumu.
_Kapalı
Akış uzaklığı.
Dönüş Değeri
İlk üye işlevi döndürür (streamoff)*this - (streamoff) right. İkinci üye işlevi döndürür fpos(*this) -= _Off.
Örnek
kullanma operator-örneği için bkz. işleç!= .
fpos::operator-=
Dosya konumu göstergesini azaltma.
fpos<Statetype>& operator-=(streamoff _Off);
Parametreler
_Kapalı
Akış uzaklığı.
Dönüş Değeri
Üye işlevi döndürür fpos(*this) -= _Off.
Açıklamalar
Dosyalarla çalışırken, sonuç yalnızca duruma bağımlı kodlaması olmayan ikili akışlar için geçerlidir.
Örnek
kullanma operator-=örneği için bkz. işleç!= .
fpos::operator==
Eşitlik için dosya konumu göstergelerini sınar.
bool operator==(const fpos<Statetype>& right) const;
Parametreler
Sağ
Karşılaştırılan dosya konumu göstergesi.
Dönüş Değeri
true dosya konumu göstergeleri eşitse; aksi takdirde false.
Açıklamalar
Üye işlevi döndürür (streamoff)*this == (streamoff)right.
Örnek
kullanma operator+=örneği için bkz. işleç!= .
fpos::operator streamoff
Türün nesnesini türüne fpos dönüştür streamoff.
operator streamoff() const;
Açıklamalar
Üye işlevi, depolanan uzaklık üye nesnesini ve üye nesnesinin parçası olarak depolanan tüm ek uzaklıkları fpos_t döndürür.
Örnek
// fpos_op_streampos.cpp
// compile with: /EHsc
#include <ios>
#include <iostream>
#include <fstream>
int main( )
{
using namespace std;
streamoff s;
ofstream file( "rdbuf.txt");
fpos<mbstate_t> f = file.tellp( );
// Is equivalent to ..
// streampos f = file.tellp( );
s = f;
cout << s << endl;
}
0
fpos::seekpos
Bu yöntem yalnızca C++ Standart Kitaplığı tarafından dahili olarak kullanılır. Bu yöntemi kodunuzdan çağırmayın.
fpos_t seekpos() const;
fpos::state
Dönüştürme durumunu ayarlar veya döndürür.
Statetype state() const;
void state(Statetype _State);
Parametreler
_Devlet
Yeni dönüştürme durumu.
Dönüş Değeri
Dönüştürme durumu.
Açıklamalar
İlk üye işlevi, üye nesnesinde St depolanan değeri döndürür. İkinci üye işlevi, üye nesnesinde St _State depolar.
Örnek
// fpos_state.cpp
// compile with: /EHsc
#include <ios>
#include <iostream>
#include <fstream>
int main() {
using namespace std;
streamoff s;
ifstream file( "fpos_state.txt" );
fpos<mbstate_t> f = file.tellg( );
char ch;
while ( !file.eof( ) )
file.get( ch );
s = f;
cout << f.state( ) << endl;
f.state( 9 );
cout << f.state( ) << endl;
}
Ayrıca bkz.
C++ Standart Kitaplığında İş Parçacığı Güvenliği
iostream Programlaması
iostreams Kuralları