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::coutEn 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::coutEste enfoque le permite definir su propio indicador de fin de archivo, proporcionando una mayor flexibilidad en su procesamiento de datos.
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