所以我一直在做这个程序,应该是对数组中的数字做一些操作。但这些操作不是问题所在。问题是,我似乎无法理解如何将输入文件中的4个数字放入一个数组中。
当我使用带数组和索引2的output语句检查它时,它输出0。而不是数字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
发布于 2019-04-11 13:49:50
由于您将读取操作inData >> currentNumber
限制为uint
类型,因此它将无法读取char
。逗号是char
。这就导致了loop
的结束。
幸运的是,输出结果显示为0
。你访问未初始化的内存,我强烈建议你不要这样做。
uint arrayWithNumbers[100] = {0};
https://stackoverflow.com/questions/55625361
复制相似问题