«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как прочитать все данные из стандартного ввода до EOF в C ++?

Как прочитать все данные из стандартного ввода до EOF в C ++?

Опубликовано в 2025-03-24
Просматривать:532

How to Read All Data from Standard Input Until EOF in C  ?

чтение данных из стандартного ввода до конца файла в C

При работе с данными непосредственно из ввода пользователя в C, часто желательно прочитать все данные до конца file (EOF). Функция cin.get () допускает чтение данных до тех пор, пока не появится указанный символ. Однако использование '\ 0' в качестве символа завершения не может быть оптимальным, поскольку он действительно не представляет EOF.

, используя циклы для извлечения данных

наиболее эффективное решение для чтения данных до тех пор, пока EOF не включает в себя использование циклов. Функция std :: getline () особенно подходит для этой цели. По умолчанию getLine () считывает данные, пока не появится символ новой линии. Однако можно указать альтернативный символ завершения:

std::string line;
while (std::getline(std::cin, line))
{
    std::cout  

В этом примере getLine () считывает каждую строку данных до тех пор, пока не будет достигнут конец файла. Цикл заканчивается, когда getLine () не может считывать какие -либо дополнительные данные, указывая на то, что EOF встречается. Например, вы можете инициализировать переменную для определенного значения и прочитать данные до тех пор, пока это значение не встретится:

const std :: string eof_marker = "eof"; std :: String Line; while (getline (std :: cin, line)) { if (line == eof_marker) перерыв; std :: cout Этот подход позволяет вам определить свой собственный индикатор в конце файла, обеспечивая большую гибкость при обработке данных.

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3