Witam. Zaczynam naukę języka c++ i natrafiłem na problem przy próbie odczytu aktualnej pozycji czytania z pliku. Aby go zobrazować utworzyłem taki krótki program:
#include <iostream>
#include <fstream>
int main()
{
std::ifstream plik;
plik.open("tekst.txt");
std::cout<<plik.tellg()<<std::endl;
char z;
plik>>z;
std::cout<<plik.tellg()<<std::endl;
plik.close();
return 0;
}
zawartość pliku tekst.txt wygląda następująco:
123456789
abcdefghi
po uruchomieniu program zwraca następującą treść:
0
2
Dlaczego po przeczytaniu jednego znaku (z) pozycja została ustawiona na 2, a nie 1?
A może źle rozumiem działanie metody tellg ?