所以我一直在研究这个程序,应该对数组中的数字进行一些操作。但是这些操作不是问题。问题是我似乎无法理解如何将输入文件中的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
答案 0 :(得分:1)
当您将读取操作inData >> currentNumber
限制为uint
的类型时,它将无法读取char
。逗号是char
。然后导致loop
的结尾。
您很幸运,输出显示为0
。您访问未初始化的内存,我强烈建议您不要这样做。
uint arrayWithNumbers[100] = {0};