使用C ++从文本文件中读取特定行

时间:2015-10-05 11:25:50

标签: c++ turbo-c++

#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 ++中的文本文件中检索数据。使用此代码,我将整个文件数据作为输出,如:

          name     address    id
          xxx      hyd       0001
          yyy      hyd       0002

但是我需要通过接受来自键盘的输入来输出只有特定的数据行。需要输出如:

          name     address    id
          xxx      hyd        0001

我的输入是name。请有人帮忙。

1 个答案:

答案 0 :(得分:0)

我会将每行的值存储在如下结构中:

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

然后我会检查键盘输入,如果是,那么我打印线。小心先读取键盘输入,然后在文件中搜索。但你可以使用一个类,用读取线的方法(它会更好)