将用户输入与文本文件进行比较,然后仅输出该行的剩余部分

时间:2018-02-06 18:19:05

标签: c++

我在将用户输入与文本文件行进行比较时遇到问题,直到我想输出所有行时才会出现问题,它只会在找到匹配时输出该行的剩余部分。这是我需要完成学校的机场项目的一小部分,但我一直在努力解决这个问题!所以我希望有人可以帮助我。 文本文件是这个

  1. LATVIJA / RIGA |波音-45 |里加 - MASKAVA | 20.02.2018 / 15:55 | R-126 |
  2. LATVIJA / RIGA |波音-45 |里加 - 赫尔辛基| 25.02.2018 / 15:55 | R-127 |
  3. LATVIJA / RIGA |波音-45 | RIGA - AMERIKA | 20.02.2018 / 15:55 | R-129 |
  4. LATVIJA / RIGA |波音-45 |里加 - BERLINE | 20.02.2018 / 15:55 | R-134 |
  5. LATVIJA / RIGA |波音-45 |里加 - MASKAVA | 25.02.2018 / 15:55 | R-166 |
  6. 粗体文字是它输出的内容,如您在此图片中所见

    enter image description here

    但是当我输入日期20.02.2018

    时,我需要输出这些文本行
    1. LATVIJA / RIGA |波音-45 |里加 - MASKAVA | 20.02.2018 / 15:55 | R-126 |
    2. LATVIJA / RIGA |波音-45 | RIGA - AMERIKA | 20.02.2018 / 15:55 | R-129 |
    3. LATVIJA / RIGA |波音-45 |里加 - BERLINE | 20.02.2018 / 15:55 | R-134 |
    4. 继承代码

       ifstream myfile;
      myfile.open("statistika.txt", ios::app);
      
      string datums;
      string item;
      string teksts;
      cout <<"Ievadi velamo lidosanas datumu: " << endl;
      cin >> datums;
      while(!myfile.eof()){
              myfile >> item;
              if(item==datums){
                  getline(myfile, teksts);
                  cout << teksts <<endl;
              }
          }
      

0 个答案:

没有答案