Этот код:
#include <iostream>
#include <cstdio>
#include <fstream>
#include <string>
int main()
{
std::remove("test.txt");
std::fstream f("test.txt",std::ios::in | std::ios::out | std::ios::binary | std::ios::trunc);
std::cout << f.good() << std::endl;
f<<"test"<< std::flush;
std::cout << f.tellg() << " " << f.tellp() << std::endl;
f.seekg(0);
std::string s;
f>>s;
std::cout << f.tellg() << " " << f.tellp() << std::endl;
}
Дает следующий вывод в gcc-4.4.5
1
4 4
4 4
, т.е. возвращаются и tellg, и tellp ожидаемая позиция в потоке 4.
Хотя gcc-4.6.0
дает:
1
4 4
-1 4
Где я могу найти ссылку, чтобы сказать: