我有一个填充了一些整数的文本文件,我想将这些数字插入此文本文件的整数数组中。
#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”。
答案 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;
}