为什么这个文件没有读入我的数组?

时间:2013-08-26 21:41:17

标签: c++ arrays io

有谁能告诉我为什么我的数组没有填满我想从我的数据文件中获取的信息?当我输出数组时,它只给我垃圾。提前谢谢。

#include <iostream>
#include <fstream>

using namespace std;

// function main begins program execution
int main()
{
    /* input correct answers file */    
    const int ARRAY_SIZE = 20;      // Array size
    int correctAnswers[ARRAY_SIZE]; // Array to hold correct answers
    int count = 0;                  // Loop counter variable
    ifstream inputFile;             // Input file stream object

    // open the file
    inputFile.open("c:\\correctanswers.txt");

    // read the numbers from the file into the array
    while (count < ARRAY_SIZE)
    {
        inputFile >> correctAnswers[count];
        count++;
    }

    // close the file
    inputFile.close();

    // display the correct answers
    cout << "The correct answers are: ";
    for (int index = 0; index < count; index++)
        cout << correctAnswers[index] << " ";
    cout << endl;
    system ("pause");

    return 0;
}

2 个答案:

答案 0 :(得分:0)

您永远不会检查流是否已初始化为所需状态。我首先检查流是否能够打开给定的参数:if(inputFile.is_open)

答案 1 :(得分:-1)

correctAnswers是一个int数组,您试图将来自该文件的字符串复制到其中。我建议你使用一个辅助变量来存储从文件中抓取的行,然后根据需要进行操作。此外,您可能希望确保不超过文件限制的结束...