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