首页 > 解决方案 > 在 C++ 中处理文本文件时忽略列的问题

问题描述

我有一个包含 8 列的文本文件。我正在尝试编写一个忽略前 6 列并将最后 2 列放入新文本文件的脚本。我为它写了一些代码,但它只是生成一个空白文本文件。基本上我试图将前 6 列中的数字存储在虚拟变量中,然后忽略它们。这是我的代码:

#include <iostream>
#include <fstream>
#include <vector>
void allNuclei()
{
  std::ifstream in("Zr/Zr_0.txt");
  if (!in.is_open())
    {
      std::cout << "File is not exist" << std::endl;
      return;

    }

  int p1, p2, p3, p4, p5, p6, A, N;
  in >> p1 >> p2 >> p3 >> p4 >> p5 >> p6 >> A >> N;
  std::vector<std::pair<int, int>> vec;
  while(in>>p1 && in>> p2 && in>>p3 && in>>p4 && in>>p5 && in>>p6 && in >> A && in >> N){
    vec.push_back((std::make_pair(A, N)));
  }

  ofstream m;
  m.open("All_Zr.txt");
  cout<<"starting fill"<<endl;
  for(int i = 0; i<vec.size(); i++){
    m << vec[i].first << " " << vec[i].second << endl;
  }

}

所以基本上一个看起来像这样的文件:

1 2 3 4 5 6 7 8

将创建一个如下所示的文件:

7 8

标签: c++

解决方案


推荐阅读