1. ホーム
  2. c++

[解決済み】ファイルから整数を読み込んで配列に格納する C++ 【クローズド

2022-01-24 02:47:14

質問

この私のコードですが、最初の数字で無限ループになってしまいます。
ファイルから整数を読み込んで、配列に格納したい。

が含まれています。

8 5 12 1 2 7

#include<iostream>
#include<fstream>
#include<string>
using namespace std;

int main()
{    
    int n = 0; //n is the number of the integers in the file ==> 12
    int num;
    int arr[100];

    ifstream File;
    File.open("integers.txt");
    while(!File.eof())
    {
        File >> arr[n];
        n++;
    }

    File.close();

    for(int i=0;i<12;n++)
    {
        cout << arr[i] << " ";
    }

    cout << "done\n";
    return 0;
}

何かお手伝いできることはありますか?

解決方法は?

私は@raviと同意見ですが、いくつかの注意事項があります。

もし、ファイル中にいくつの整数があるかわからず、ファイルに のみ 整数の場合は、このようにします。

std::vector<int>numbers;
int number;
while(InFile >> number)
    numbers.push_back(number);

必要なのは #include<vector> を使用します。


というのは、ファイルに何個の整数があるか読んでから、loopで読み込むとよいでしょう。

int count;
InFile >> count;
int numbers[count];       //allowed since C++11

for(int a = 0; a < count; a++)
    InFile >> numbers[a];


読み取りが成功したかどうかのチェックはしていませんが、そうするのが良い方法です。