Как эффективно читать большие входные файлы на C++?C++

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

Сообщение Anonymous »

**Вопрос
Я новичок в C++ и пытаюсь эффективно прочитать большой входной файл. Я знаю, что использование cin и getline может быть медленным из-за синхронизации со stdio C. Я слышал, что отключение этой синхронизации может повысить производительность. Может ли кто-нибудь объяснить, как это сделать, и предоставить пример кода?
**
Кроме того, есть ли какие-либо другие рекомендации, которым мне следует следовать, чтобы обеспечить быстрое чтение ввода в C++?Я ценю любые советы и предложения, которые помогут сделать это более эффективным. Спасибо!
вот базовая версия моего кода:

Код: Выделить всё

#include 
#include 

int main() {
std::string line;
while (std::getline(std::cin, line)) {
// Process the line
}
return 0;
}
Вот код, который я использую для чтения из стандартного ввода. Как я могу улучшить его производительность?

Код: Выделить всё

#include 
#include 

int main() {
std::ios::sync_with_stdio(false); // Disable synchronization
std::cin.tie(nullptr);            // Untie cin from cout

std::string line;
while (std::getline(std::cin, line)) {
// Process the line
}
return 0;
}

Будем очень признательны за любую информацию или подробные объяснения!

Подробнее здесь: https://stackoverflow.com/questions/786 ... files-in-c
Ответить

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

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

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

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

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