-
1. Data: 2010-06-15 15:26:54
Temat: wskaznik put i get
Od: Krzysztof Poc <f...@w...pl>
Witajcie
Otwieram plik do odczytu i zapisu za pomoca strumienia fstream.
Operacja na jednym ze wskaznikow put/get automatycznie ustawia ten
drugi.
Czy to jest oczekiwane zachowanie ?
Ponizszy program pokazuje taka sytuacje:
#include <fstream>
#include <iostream>
using namespace std;
int main ( void )
{
const int SIZE = 1024;
char buf [ SIZE ];
fstream myFile ( "/tmp/remove.txt", ios::trunc | ios::in |
ios::out );
cout << "put pointer: " << myFile . tellp () << endl; // 0
cout << "get pointer: " << myFile . tellg () << endl; // 0
myFile << "Animal" << endl;
myFile << "Bird" << endl;
cout << "put pointer: " << myFile . tellp () << endl; // 12
cout << "get pointer: " << myFile . tellg () << endl; // 12 -
oczekiwalem 0
myFile . seekg ( 0, ios::beg );
cout << "put pointer: " << myFile . tellp () << endl; // 0 -
oczekiwalem 12
cout << "get pointer: " << myFile . tellg () << endl; // 0
return 0;
}