Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Me ayudan a entender este codigo

Estas en el tema de Me ayudan a entender este codigo en el foro de C/C++ en Foros del Web. Código: //************************************************************** // Programa EchoLine // Este programa lee y repite los caracteres de una línea // de un archivo de entrada //************************************************************** #include<iostream> #include<fstream> ...
  #1 (permalink)  
Antiguo 26/07/2008, 08:05
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 7 meses
Puntos: 2
Pregunta Me ayudan a entender este codigo

Código:
//**************************************************************
// Programa EchoLine
// Este programa lee y repite los caracteres de una línea
// de un archivo de entrada
//**************************************************************
#include<iostream>
#include<fstream>                                                 //Para archivo I/O
int main()
{
    char inChar;                                                 //Un carácter de entrada
    std::ifstream inFile;                                        //Archivo de datos

    inFile.open("text.dat");                                     //Intentar abrir el archivo de entrada
    if(!inFile)                                                  //¿Se abrió?
    {
        std::cout << "No puedo obtener el archivo de entrada.";  //Imprimir mensaje de error
        return 1;                                                //Terminar programa
    }
    inFile.get(inChar);                                          //obtener el primer carácter
    while(inChar != '\n')
    {
        std::cout << inChar;                                     //Repítelo
        inFile.get(inChar);                                      //Obtener el siguiente carácter
    }
    std::cout << std::endl;
    return 0;
}
Si se lo que hace pero no como lo hace, puedo entender que lee text.dat y que despues con inFile.get(inChar) obtiene el primer caracter lo que no entiendo es por que dentro del while, inFile.get(inChar) abansa al siguiente caracter y no se queda en el primero

Última edición por Fayca; 26/07/2008 a las 08:28 Razón: para tratar de explicar mejor mi duda
  #2 (permalink)  
Antiguo 26/07/2008, 10:10
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 5 meses
Puntos: 61
Respuesta: Me ayudan a entender este codigo

La mision del metodo get() es obtener el siguiente caracter dependiendo de donde estas parado. Si recien abriste el archivo, entonces lee el primer caracter, en cualquier otro caso, lee el siguiente. Si no quieres que ello ocurra, entonces no invoques el metodo get(), y usa la variable que guarda el valor recien leido.
  #3 (permalink)  
Antiguo 26/07/2008, 10:42
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 7 meses
Puntos: 2
Sonrisa Respuesta: Me ayudan a entender este codigo

Cita:
Iniciado por CalgaryCorpus Ver Mensaje
La mision del metodo get() es obtener el siguiente caracter dependiendo de donde estas parado. Si recien abriste el archivo, entonces lee el primer caracter, en cualquier otro caso, lee el siguiente. Si no quieres que ello ocurra, entonces no invoques el metodo get(), y usa la variable que guarda el valor recien leido.
Gracias ahora si entiendo, no es que no lo quiera usar es que estoy leyendo un libro y lo que estaba expliicando el libro era sobre los ciclos y estaba ese ejemplo y lo que no entendi era como recorria los caracteres
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:27.