将整数从文本文件插入整数数组

时间:2017-03-11 13:58:08

标签: c++ arrays file fstream

我有一个填充了一些整数的文本文件,我想将这些数字插入此文本文件的整数数组中。

 #include <iostream>
 #include <fstream>

 using namespace std;

 int main(){

  ifstream file("numbers.txt");
  int nums[1000];

  if(file.is_open()){

     for(int i = 0; i < 1000; ++i)
     {
        file >> nums[i];
     }
  }

  return 0;
}

并且,我的文本文件包含逐行整数,如:

102
220
22
123
68

当我尝试使用单个循环打印数组时,除了文本文件中的整数之外,它还会打印许多“0”。

1 个答案:

答案 0 :(得分:1)

始终检查文本格式化提取的结果:

if(!(file >> insertion[i])) {
    std::cout "Error in file.\n";
}

问题是您的文本文件不包含1000个数字吗?

我建议使用std::vector<int>而不是固定大小的数组:

 #include <iostream>
 #include <fstream>
 #include <vector>

 using namespace std;

 int main(){

  ifstream file("numbers.txt");
  std::vector<int> nums;

  if(file.is_open()){
     int num;
     while(file >> num) {
         nums.push_back(num);
     }
  }

  for(auto num : nums) {
      std::cout << num << " ";
  }

  return 0;
}