私はリンクされたリストをファイルに保持するプログラムを書いています。だから、私はファイルを横切って、tellp()/ tellg()を使って新しい位置に行くために特定の長い整数(オフセットと見なすことができます)を追加します。tellp()、tellg()の戻り値の型を収集して格納する方法は?
簡単な例は、
long next_offset = sizeof(long) + sizeof(int) ....
//like size of all the elements in the record, etc
curr_node = out.seekg();
while(curr_node != -1) {
out.read(...);
**curr_node.seekg(curr_node.tellp() + next_offset);**
out.read((char *)&curr_node,sizeof(long));
}
はので、ここで基本的に私がいる限りと長いほかのDNG tellp()値を保存していますでしょう、この罰金はあります?またはpos_valueが大きくなるときに私がいくつかのビットを失う可能性がありますか?