Как улучшить скорость чтения из файла?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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