2013-05-01 50 views
0

我無法循環瀏覽文本文件的內容,搜索一個數字,然後一旦找到,輸出該數字所在行的數據。查找文本文件中的數字並輸出該行數據

此刻,無論您指定什麼編號,它都會始終輸出文本文件的第一行。

cout << endl << "Please enter a staff members ID: "; 
cin >> id; 
do 
{ 
    inStream.seekg(0, ios::beg); 
    getline(inStream, line); 
    if (line.find(id)) 
    { 
     cout << endl << line; 
    } 
    else 
    { 
     cout << endl << "Error. Could not find the staff member.\n"; 
    } 
} while (id != id); 
+2

如果line.find沒有找到它,它返回std :: string :: npos。問題是,這等於-1 ... – enhzflep 2013-05-01 03:07:19

+0

您應該顯示您在示例中使用的任何標識符的聲明。 – 2013-05-01 03:15:43

回答

0

將seekg行放在do while循環之外。 inStream.seekg(0,ios :: beg);

id!= id? :-)

如果你不想要一個無限循環,那麼還要放置一個break condition(EOF check)。

相關問題