2015-10-05 136 views
0
#include <iostream.h> 

#include <stdlib.h> 
#include <fstream.h> 
#include <iomanip.h> 
#include <string.h> 
#include <conio.h> 
int view(void) 
{ 
    ifstream in("NewFaculty.txt"); 

    if(!in) { 
    cout << "Cannot open input file.\n"; 
    return 1; 
    } 

    char str[255]; 

    while(in) { 
    in.getline(str, 255); // delim defaults to '\n' 
    if(in) cout << str << endl; 
    } 

    in.close(); 
    getch(); 
    return 0; 
} 

int main() 
{ 
    view(); 
} 

我有用於從C++文本文件中檢索數據的代碼。使用此代碼我得到整個文件數據作爲輸出,如:使用C++從文本文件讀取特定行

  name  address id 
      xxx  hyd  0001 
      yyy  hyd  0002 

但我通過接受從鍵盤輸入需要這樣的數據只有特定的線路輸出。需要輸出像:

  name  address id 
      xxx  hyd  0001 

這裏我的輸入是name。請任何人以這種方式幫助。

+0

是的,我需要修復它,但沒有得到任何想法。 –

+1

鍵盤輸入(ID,姓名,地址,行號)是什麼? – sop

+0

使用std :: istream :: ignore,請參閱已存在的答案中的詳細信息:http://stackoverflow.com/a/25012566/492336 –

回答

0

我將每行的值存儲在這樣的結構:

struct RecordLine 
{ 
    std::size_t lineNo; // optional 
    std::string name; 
    std::string address; 
    std::string id; 
}; 

而且我會檢查,然後在鍵盤輸入,如果是這樣的話,我打印線。首先請仔細閱讀鍵盤輸入,然後在文件中搜索。但你可以使用一個類,用閱讀線的方法(它會更好)

相關問題