Как улучшить скорость чтения из файла?C++

Программы на C++. Форум разработчиков
Anonymous
Как улучшить скорость чтения из файла?

Сообщение Anonymous »

Я читаю из файла TXT, который содержит примерно 1,7 миллиона строк, где каждая строка состоит из 3 целых числа. Проблема, с которой я сталкиваюсь, заключается в том, что мне потребуется приблизительно 30 секунд, чтобы пройти и хранить целые числа в векторе.std::ifstream finVertices("Phantom Data/FA_vertices.txt", std::ios::in);
if (!finVertices)
{
std::cerr y >> z;
vertices.push_back(glm::vec3(y, z, x));
}

finVertices.close();
< /code>

Пример содержимого файла TXT: < /p>

297 13 164
297 13 165
297 14 164
297 14 165
298 13 164
298 13 165
< /code>

Вопрос: как я могу улучшить процесс чтения из файла TXT? < /p>

Изменить: Спасибо за помощь. С вашей помощью мне удалось решить проблему.
Вот код: < /p>

std::ifstream is(fileName, std::ifstream::binary);

if (is) {
is.seekg(0, is.end);
int length = is.tellg();
is.seekg(0, is.beg);

char* buffer = new char[length];

is.read(buffer, length);

is.close();

for (unsigned int i = 0; i < is.gcount(); i++)
{
// here can get access to each indiviual character
}


Подробнее здесь: https://stackoverflow.com/questions/623 ... rom-a-file

Вернуться в «C++»