2 つの tellp() 出力の差 (int) を取得したいとします。
大きなファイルが書き込まれると、tellp() の出力が巨大になる可能性があるため、long long 内に保存すると言うのは安全ではありません。次のような操作を安全に実行する方法はありますか。
ofstream fout;
fout.open("test.txt",ios::out | ios::app);
int start = fout.tellp();
fout<<"blah blah "<<100<<","<<3.14;
int end = fout.tellp();
int difference = end-start;
ここで、end と start の違いは間違いなく int に収まることがわかります。しかし、終わりと始まり自体は非常に大規模になる可能性があります。