Son utilizados para almacenar datos de forma persistente en el disco, permitiendo guardar información y recuperarla en futuras ejecuciones.
a+ modo de apertura del archivo
r+ lectura de archivo
w+ escribe el archivo
fwrite para escribir en un archivo
//manejo de archivos
#include <iostream>
using namespace std;
//variable apuntadora (señala un lugar en el DD, memoria, etc
FILE *pArchivo;
FILE *pArchivo2;
struct dtAlumno{
int matricula;
string nombre;
int edad;
}regAlumno;
void guardarAlumno(){
cout << "Ingrese una matricula: ";
cin >> regAlumno.matricula;
fflush(stdin);
cout << "Ingrese un nombre: ";
getline(cin, regAlumno.nombre);
cout << "Ingrese la edad: ";
cin >> regAlumno.edad;
pArchivo = fopen("C:\\\\Mis programas\\\\Alumnos.txt", "a+"); //
fwrite(®Alumno, sizeof(regAlumno), 1, pArchivo);
fclose(pArchivo);
cout << "\\nAlumno guardado" << endl;
getchar();
}
void mostrarAlumnos(){
pArchivo = fopen("C:\\\\Mis programas\\\\Alumnos.txt", "a+"); //read
cout << "\\n ------ Mostrar alumnos ------";
while(fread(®Alumno, sizeof(regAlumno), 1, pArchivo)){
cout << "\\n\\nMatricula: " << regAlumno.matricula;
cout << "\\nNombre: " << regAlumno.nombre;
cout << "\\nEdad: " << regAlumno.edad;
}
fclose(pArchivo);
getchar();
}
main(){
int opc;
do{
system("cls"); //limpiar pantalla
cout << "CONTROL DE ALUMNOS";
cout << "\\n1. Guardar alumno";
cout << "\\n2. Mostrar alumnos";
cout << "\\n3. Buscar alumno por nombre";
cout << "\\n4. Buscar alumno por matricula";
cout << "\\n5. Eliminar alumno";
cout << "\\n6 Salir";
cout << "\\nOpcion: ";
cin >> opc;
fflush(stdin);
switch(opc){
case 1:
guardarAlumno();
break;
case 2:
mostrarAlumnos();
break;
case 6:
cout << "Gracias por utilizar este programa :)";
break;
default:
cout << "\\nOpcion invalida" << endl;
system("pause");
}
}while(opc != 6);
}