Открываю файл который занимает 141 байт на диске (то есть не нулевой). Открываю на запись в конец, чтение, в бинарном режиме. Пишу в него строку "test", все правильно, она пишется в конец файла, так как ios::app. Логично предположить что и файловый указатель записи должен остаться в конце файла и вернуть абсолютное значение, то есть вернуть по сути размер файла.
То есть tellp() должен вернуть 141 + 5 (test + '\0') = 146, но шо то я не так видимо понял и tellp() возвращает 5, как будто это не абсолютное значение а локальное, то есть сколько записал столько и возвратил. Подскажите что я упустил или не так понял?
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
fstream distFile;
distFile.open("test.dat", ios::binary | ios::app | ios::out | ios::in);
distFile.write("test", 5);
cout<<"tellp = "<<distFile.tellp()<<endl;
return 0;
}