寻求无效的论点?

时间:2012-07-05 10:21:31

标签: c++ seekg

我第一次尝试使用seekg。 它在文档中说它的论点可能是:

istream的&安培; seekg(streampos pos);

istream的&安培; seekg(streamoff off,ios_base :: seekdir dir);

根据我的理解,'streampos pos'可能是一个整数?我看到像“seekg(0)”这样的例子 但是当尝试编译它时,它说我使用了无效的参数:

void function(int pos){
ifstream reader("data.dat");
if(!reader.is_open())
    return 0;
int posinArchive = pos * 74;
reader.seekg(posinArchive);

我甚至试图将它直接投射到streampos:

  void function(int pos){
ifstream reader("data.dat");
if(!reader.is_open())
    return 0;
int posinArchive = pos * 74;
reader.seekg((streampos)posinArchive);
同样的事情。 seekg(0),什么都没有。 怎么了?

1 个答案:

答案 0 :(得分:0)

第一个版本

stream& seekg ( streampos pos );
当您想要寻找之前通过tellg来电获得的职位时,应该使用

如果你想寻找位置0,你必须使用seekg(0, ios::beg)从文件开头到零偏移。