如何将文件中的值放入数组中

How to put values from a file into an array

本文关键字:数组 文件      更新时间:2023-10-16

所以我一直在研究这个程序,它应该对数组中的数字进行一些操作。但这些操作不是问题。问题是我似乎无法理解如何将输入文件中的 4 个数字放入数组中。

当我使用带有数组和索引 2 的输出语句检查它时,它输出零。而不是数字 4。

文件将包括的所有数字.txt包括:2 4 3 5

#include <iostream> //cin, cout, endl
#include <iomanip>  //manipulators such as setw, setprecision
#include <fstream>  //File I/O
#include <cmath>    //math operators like pow
#include <string>   //string
#include <cassert>  //function assert
using namespace std;
typedef unsigned int uint;
const string fileName = "numbers.txt";

int main()
{
    uint arrayWithNumbers[100];
    uint currentNumber = 0;
    uint limiter = 0;
    ifstream inData;
    inData.open(fileName);
    if(inData)
    {
        while(inData >> currentNumber)
        {
            arrayWithNumbers[limiter] = currentNumber;
            limiter++;
        }//while for array processing
    }//if check for file
    inData.close();
    cout << arrayWithNumbers[2] << endl;
}//main

当您将读取操作inData >> currentNumber限制为uint类型时,它将无法读取char。逗号是char。这导致loop结束。

你很幸运,输出显示0.您访问未初始化的内存,我强烈建议您不要这样做。

uint arrayWithNumbers[100] = {0};