0

データファイルから取得しようとしている情報で配列がいっぱいにならない理由を誰か教えてもらえますか? 配列を出力すると、ガベージが表示されます。前もって感謝します。

#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;
}
4

2 に答える 2

0

ストリームが目的の状態に初期化されているかどうかを確認することはありません。ストリームが指定された引数を開くことができるかどうかを確認することから始めます。

于 2013-08-26T21:59:40.370 に答える
-1

correctAnswers は int の配列です。ファイルからの文字列をコピーしようとしています。補助変数を使用して、ファイルから取得した行を格納し、必要に応じて操作することをお勧めします。また、おそらくファイルの終わりの制限を超えないようにする必要があります...

于 2013-08-26T21:58:54.333 に答える