[ Foro de C++ ]
Hola de nuevo!
Lo importante no es la extensión del fichero, porque en muchos casos la extensión la elige el programador, abreviando alguna palabra que para él sea significativa.
El truco es mirar el fichero con cualquier visor/editor hexadecimal. Si todo son letras imprimibles, como en el ejemplo anterior, se trata de un fichero que podrás abrir como "modo texto" si quieres, y a partir de ahí, ir leyendo carácter a carácter, uno tras otro, de forma secuencial (no necesitarías ningún "seek").
En cualquier caso... ¿qué vas a hacer con el fichero cuando lo vas leyendo? Porque eso también es importante para saber cómo atacar...
#include <iostream>
#include <fstream>
using namespace std;
int main () {
fstream ficheroEntrada;
char letra;
ficheroEntrada.open ("ficheroTexto.txt", ios::in);
if (ficheroEntrada.is_open()) {
while (! ficheroEntrada.eof() ) {
ficheroEntrada >> letra;
cout << letra << " ";
}
ficheroEntrada.close();
}
else cout << "Fichero inexistente" << endl;
return 0;
}
El problema de hacerlo así es que se salta los espacios en blanco, así que si es un fichero de texto, es más razonable leer string a string y luego tú tratas cada string letra a letra.istream& get(char*, int len, char = '\n');
istream& get(char&); //siendo en el ejemplo ficheroEntrada.get(letra);
La primera lee caracteres y los almacena en el buffer indicado en el primer parámetro hasta que se leen "len" caracteres o hasta que se encuentra el carácter indicado en el tercer parámetro, que por defecto es el retorno de línea.
La segunda forma extrae un único carácter en la referencia a char proporcionada.
(de conclase)
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)