Lectura y Escritura de Archivos en Programación
Clase 28 de 47 • Curso Práctico de C++
Contenido del curso
- 13

Entrada y manejo de datos en programas C++
08:49 - 14

Operadores Relacionales y Condicionales en Programación
10:17 - 15

Condicionales y estructuras de control en programación
08:37 - 16

Funciones y Encapsulamiento en Programación
05:44 - 17

Funciones en Programación: Creación y Uso Eficiente
08:49 - 18
Creación de aventuras interactivas con C++ y decisiones de usuario
00:24
- 19

Arreglos: Conceptos Básicos y Manipulación en Programación
08:09 - 20

Estructuras de Control: Bucles en Programación
03:47 - 21

Contadores y Bucles en Programación: While, Do-While y For
10:18 - 22

Arreglos Unidimensionales y Bidimensionales en Programación
10:40 - 23

Dibujar Mapas y Personajes en Juegos con Arreglos en C++
08:13 - 24

Movimiento de Personajes en Juegos con Python
05:38 - 25

Programación de Mapas Bidimensionales en Videojuegos
09:24 - 26
Movimiento de Personajes en Cuatro Direcciones con CIN
00:25
- 30

Programación Orientada a Objetos: Conceptos y Beneficios
03:29 - 31

Programación Orientada a Objetos: Clases e Instancias en Java
07:53 - 32

Encapsulación de Datos en Programación Orientada a Objetos
10:59 - 33

Abstracción en Programación Orientada a Objetos
09:12 - 34

Herencia en Programación Orientada a Objetos: Clases y Constructores
08:23 - 35
Tipos de acceso en la herencia de clases en programación
00:39 - 36

Polimorfismo en C++: Teoría y Práctica
14:36
- 37

Programación de un Juego de Laberinto en C++
09:22 - 38

Controles básicos de movimiento en videojuegos con programación en C++
07:18 - 39

Creación de Clases para Mapas en Juegos de Programación
09:43 - 40

Conexión de Jugador y Coordenadas en Mapas de Videojuegos
11:04 - 41

Carga y Lectura de Archivos para Mapas en Juegos
09:10 - 42

Colisiones y Movimiento en Juegos 2D con C++
09:30 - 43

Colisiones y restricciones de movimiento en mapas de juegos
09:38 - 44

Colisiones y Portadas en Videojuegos: Implementación en C++
07:17 - 45

Creación de Juegos de Aventuras en C++: Laberintos y Cofres del Tesoro
11:16 - 46

Programación Orientada a Objetos en Videojuegos Básicos
00:50 - 47
Creación de Enemigos y Laberintos en C++ Avanzado
01:14
¿Cómo leer archivos en un programa?
Leer archivos en un programa es fundamental para utilizar información previamente almacenada. Este proceso te permite acceder a datos guardados en un almacenamiento secundario, como es el caso de datos de inventarios en juegos o configuraciones de software. Para leer archivos de forma eficaz, recurrimos a una estructura específica dentro del lenguaje de programación.
¿Qué tipo de datos se utilizan para leer archivos?
Para leer archivos, utilizamos el tipo de dato Histroy. Este tipo de dato es similar a String, pero está específicamente diseñado para la entrada de datos (input), a diferencia de String que se utiliza para la salida de datos (output). Al leer un archivo, creamos una instancia Histroy para ingresar el contenido del archivo al sistema.
Histroy miArchivo;
miArchivo.initDesdeArchivo("data.txt")
¿Cómo asegurarse de que el archivo está abierto correctamente?
Es esencial comprobar si nuestro archivo se ha abierto correctamente para evitar errores durante la ejecución del programa. Esto se puede hacer utilizando métodos de verificación que permiten asegurarse de que no hubo problemas de acceso causados por antivirus u otros procesos del sistema.
if (!miArchivo.estaAbierto()) {
imprimir("No se logró abrir el archivo. Verifique si hay un antivirus interfiriendo.");
}
¿Cómo leer líneas de un archivo?
Una vez que el archivo está abierto, procedemos a leer su contenido línea por línea. Esto se realiza utilizando la función getLine, que extrae caracteres hasta encontrar un punto y seguido.
String linea;
while (miArchivo.getLine(linea)) {
imprimir(linea);
}
¿Cómo puedo utilizar lo leído del archivo?
Al leer un archivo, podemos implementar funcionalidades que mejoren la interactividad con el usuario o que mantengan su progreso en el juego. Por ejemplo, podríamos solicitar al usuario el nombre de un personaje, guardarlo en el archivo y después recuperarlo.
Solicitar y guardar una entrada del usuario
Podemos solicitar al usuario que ingrese su nombre o el de un personaje, y guardarlo en nuestro archivo para usos futuros.
String nombreDelJugador;
imprimir("Por favor, introduce el nombre de tu personaje:");
nombreDelJugador = obtenerInput();
miArchivo.escribirLinea(nombreDelJugador);
Recuperar un dato específico del archivo
Para recuperar información específica, leemos el archivo línea por línea hasta encontrar la línea deseada. Así, podemos extraer el nombre del personaje o cualquier otro dato particular que se haya guardado.
int lineaActual = 0;
String nombreDelHeroe;
while (miArchivo.getLine(linea)) {
if (lineaActual == 2) { // Suponiendo que el nombre del héroe está en la línea 3.
nombreDelHeroe = linea;
break;
}
lineaActual++;
}
imprimir("El nombre de tu héroe es: " + nombreDelHeroe);
Trabajar con archivos te permite extender las posibilidades de tus programas, guardar progreso de manera duradera y realizar ajustes personalizables. Dominar estas técnicas enriquecerá tus habilidades de programación y te permitirá crear aplicaciones más completas y funcionales. ¡Sigue explorando y aprendiendo para llevar tus conocimientos al siguiente nivel!