@csar
c++

Как прочитать строку файла по номеру?

Столкнулся с такой проблемой:
1. Открываю файл
std::ifstream file("test.cfg");
2. Считаю кол-во строк
while (std::getline(file,line)) {
        ++count;                                    
    }


3. Вызываю srand, затем
num=rand()%count
4. Как мне прочитать строку с номером num?

P.S.
Кстати,
file.seekg (0, file.beg);
не помогает. После нее file>>line выводит пустоту.
  • Вопрос задан
  • 189 просмотров
Решения вопроса 1
AtomKrieg
@AtomKrieg
Давай я поищу в Google за тебя
#include <fstream>
#include <string>
#include <vector>
#include <iostream>

int main()
{
  std::ifstream file("test.cfg");
  std::vector<std::string> buffer;
  std::string line;
  while (std::getline(file,line)) {
    buffer.push_back(line);
  }
  std::cout << buffer[rand()%buffer.size()] << std::endl;

  system("pause");
  return 0;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы