我正在编写一个在文件中维护linked_list 的程序。因此,我通过使用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));
}
所以在这里基本上我将tellp()值保存为long和dng一个长加法,这可以吗?或者当 pos_value 变大时我可能会丢失一些位???