(Считывание/Запись) работа с файлами С++

84
20 марта 2022, 01:10

У меня есть файл с 40 вопросами. Моя задача, поместить все 40 вопросов в вектрок, после чего, выводить от туда один рандомный вопрос. Не могу справиться с задачей. Ошибка в плане логики.


int main()
{
    srand(time(NULL));
    int randString = 0;
    vector <string> q;
    string s;
    std::ifstream in("questions.txt");
    if (in.is_open())
        while (cin >> s) q.push_back(s);
    else cout << "ERROR";
    in.close();
    randString = rand() % 40 + 1;
    cout << q[randString] << endl;
    system("pause");
    return 0;
}

В файле вопросы хранятся так:

  1. Что такое класс? Чем отличается класс от объекта?

  2. Допускается ли передавать объекты в качестве параметров, и какими способами? А возвращать как результат?

  3. Чем класс отличается от структуры? Можно ли использовать ключевые слова public и private в структуре?

и т.д

Answer 1
while(getline(in, s))
   q.push_back(s);
READ ALSO
Вызов функции_члена шаблонного базового класса из функции производного шаблонного класса

Вызов функции_члена шаблонного базового класса из функции производного шаблонного класса

Знаю, что нужно вызвать f() первыйм или вторым вариантомНо почему является ошибкой просто вызов f(); ? Ведь и так ясно, что вызывается для данного...

82
Память под контейнеры выделяется в стеки или куче?

Память под контейнеры выделяется в стеки или куче?

как выделяется память под контейнеры vector, map в с++

100
Bitset. Изменение битов элементов

Bitset. Изменение битов элементов

Есть некоторые массивы

96
Что делает следующая строчка?

Что делает следующая строчка?

Есть динамический массив под названием buffer, который хранит в себе строку в стиле С(Например какое-нибудь предложение: Hello world) Что делает данная...

58