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

时间:2019-04-11 05:33:57

标签: c++

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

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

所有numbers.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

1 个答案:

答案 0 :(得分:1)

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

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

uint arrayWithNumbers[100] = {0};