Estoy trabajando en un pequeño proyecto que consiste en crear un identador (tabulador) de código java, escrito en C++.
El programa debe abrir un archivo, el cual podría venir todo en una misma línea, procesarlo y luego escribir un nuevo archivo, con el código identado.
El problema que tengo, es que nos solicitan, que la lectura del archivo, no sea toda de una sola vez, si no que leemos una parte, la escribimos en un nuevo archivo y volvemos a leer, y así sucesivamente hasta terminar de procesar el archivo.
La idea inicial, es leer el archivo cada parte dividida por un ";". La primera expresión, la leo fácil, el problema es como volver a leer el archivo, iniciando por donde quedé.
Este el código que lee el archivo:
Código:
Saludos y de antemano, gracias string Lector::leerExpresion(){ char c; ifstream is; stringstream expresion; // Abre el archivo is.open ("prueba.java"); // Mientras la lectura del archivo se correcta y no haya llegado a un ; while ( is.good() && (c != ';') ){ c = is.get(); // Asigna el caracter a la variable if (is.good() && (c != '\t') ){ expresion << c; // Asigna a expresion el caracter, omitiendo los tabs } } // Cierra el archivo is.close(); return expresion.str(); }