我試圖在讀取文件時獲取每個文件行的起始地址,並將其打印到屏幕上,但由於某種原因,它只會導致無限循環。我正在閱讀的文件只是一個普通的文本文件。這是我現在要做的。開始地址無盡循環
#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的第一個參數,它仍然會導致一個無限循環,或者它只是顯示了相同數量的一堆倍。不知道我錯過了什麼。
思考什麼ios :: beg你的while循環 – 2012-04-17 04:16:41