"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo leer todos los datos de la entrada estándar hasta EOF en C ++?

¿Cómo leer todos los datos de la entrada estándar hasta EOF en C ++?

Publicado el 2025-03-24
Navegar:458

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

Lectura de datos desde la entrada estándar hasta el final del archivo en c

cuando se trabaja con datos directamente desde la entrada del usuario en C, a menudo es deseable leer todos los datos hasta que se alcance el fin de archivo (EOF). La función cin.get () permite leer datos hasta que se encuentra un carácter especificado. Sin embargo, usar '\ 0' como el carácter de terminación puede no ser óptimo, ya que realmente no representa EOF.

usando bucles para la extracción de datos

la solución más efectiva para leer datos hasta que EOF implica el uso de bucles. La función STD :: GetLine () es particularmente adecuada para este propósito. Por defecto, GetLine () lee datos hasta que se encuentre un carácter de NewLine. Sin embargo, se puede especificar un carácter de terminación alternativa:

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

En este ejemplo, GetLine () lee cada línea de datos hasta que se alcanza el final del archivo. El bucle termina cuando GetLine () no lee más datos, lo que indica que se ha encontrado EOF.

alternativo de terminación carácter

Aunque EOF no es un caracteres que se puede especificar directamente, puede usar un valor de Sentinel para representar EOF. Por ejemplo, puede inicializar una variable a un valor específico y leer datos hasta que se encuentre ese valor:

const std::string EOF_MARKER = "EOF";
std::string line;
while (getline(std::cin, line))
{
    if (line == EOF_MARKER)
        break;

    std::cout  

Este enfoque le permite definir su propio indicador de fin de archivo, proporcionando una mayor flexibilidad en su procesamiento de datos.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3