设置开始和结束限制以从文件中读取

时间:2018-05-05 02:21:55

标签: c++ file io position

我需要从txt文件中读取数据。我需要的数据从文件中的某个位置开始,到另一个位置结束(不是最后)。我知道如何改变起始位置(fin.seekg(startPos);),但是如何设置我的结束位置? 我有一个限制数字,比如说开始从100开始读取,从30开始停止。

1 个答案:

答案 0 :(得分:1)

您可以像这样使用fin.tellg:

fin.seekg(0, fin.end);
length = fin.tellg();

计算“#”位置的总数'在文件中。然后转到所需的起始位置并获得输入,直到位置数减去30.完成样本:

int startPos = 100, length;
string input;
ifstream fin("file.txt");

fin.seekg(0, fin.end);
length = fin.tellg();
fin.seekg(startPos);

for (int i = startPos; i <= length - 30; i++) {
    getline(fin, input, '\n')
    //do something with 'input'
}

fin.close();