我试图在读取文件时获取文件每一行的起始地址,并将其打印到屏幕上,但由于某种原因,它只会导致无限循环。我正在阅读的文件只是一个普通的文本文件。这就是我现在要做的。
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
using namespace std;
int main(int argc, char* argv){
ifstream file;
string name, lnstr;
int addy;
if (argc > 1)
name = argv[1];
else
{
cout << "Please Enter Your Filename: ";
getline(cin, name);
}
file.open(name.data());
if(!file)
{
perror(name.data());
exit(1);
}
addy = 0;
while(getline(file, lnstr))
{
cout << file.seekg(addy, ios::beg) << endl;
addy++;
}
}
即使我将0作为seekg的第一个参数,它仍然会导致无限循环,或者它只是显示相同的数字一堆。不知道我错过了什么。