Как ввести несколько значений из текстового файла в массив C ++ - PullRequest
0 голосов
/ 01 декабря 2019

Я ищу для ввода отдельных входных данных файла .txt в мой массив, где каждый вход разделен пробелом. Тогда cout эти входы. Как мне ввести несколько значений из файла .txt в мой массив?

    int main()
{
    float tempTable[10];

    ifstream input;
    input.open("temperature.txt");

    for (int i = 0; i < 10; i++)
    {
        input >> tempTable[i];
        cout << tempTable[i];
    }

    input.close();

    return 0;
}

С тем, что я здесь написал, я ожидал, что ввод файла будет идти в соответствии с планом с каждым значением, введенным в tempTable [i] однако при запуске программа выдает экстремальные числа, т.е. -1.3e9.

Файл Temperature.txt выглядит следующим образом:

25 20 11.2 30 12.5 3.5 10 13

1 Ответ

1 голос
/ 01 декабря 2019

Ваш файл содержит 8 элементов, вы повторяете 10 раз.

Вы должны использовать vector или list и повторять while(succeded)

#include <vector>
#include <fstream>
#include <iostream>
int main()
{
    float temp;    
    std::ifstream input;
    input.open("temperature.txt");
    std::vector<float> tempTable;
    while (input >> temp)
    {
        tempTable.push_back(temp);
        //print last element of vector: (with a space!)
        std::cout << *tempTable.rbegin()<< " ";
    }
    input.close();
    return 0;
}
...