UNIDAD 5: REGISTROS Y ARCHIVOS SECUENCIALES

TEMA LINUX GCC 10: OPERACIONES CON CAMPOS

En este TEMA LINUX GCC se analiza la manera de poder realizar operaciones o procesos con los campos de los registros en el archivo secuencial, lo unico importante a considerar es que los campos del registro son en cierta medida igual que variables normales y por tanto se pueden proceesar de manera normal como lo muestra el ejemplo.

Prog24.html

<HTML>
<FORM ACTION=/~tusitio/cgi-bin/prog24.cgi METHOD=post>
<INPUT TYPE=submit VALUE="SUMAR + 1000">
</FORM></HTML>

prog24.cpp

#include <string>
#include <iostream>
#include <lcnet.h>
using namespace std;
static struct {
int clave;
char nombre[30];
float peso;
} alumno;
int main() {
FILE *arch1;
FILE *arch2;
arch1 = fopen("//home//tusitio//alumnos.dat","r+");
arch2 = fopen("//home//tusitio//temporal.dat","at+");
// aqui siempre debe empezar el ciclo de lectura
// y fread() regresa siempre cuantas estructuras leyo
while(fread(&alumno,sizeof(alumno),1,arch1)==1)
{
// sumando mas mil y grabandolo al temporal
alumno.peso=alumno.peso + 1000;
fwrite(&alumno,sizeof(alumno),1,arch2);
}; // aqui termina while
//cerrando archivos
fclose(arch1);
fclose(arch2);
// removiendo y renombrando archivos
remove("//home//tusitio//alumnos.dat");
rename("//home//tusitio//temporal.dat","//home//tusitio//alumnos.dat");
//avisando
cout << "Content-type: text/html\n\n";
cout << "<html>" << endl;
cout << " ya se sumo mas mil"<<endl;
cout << "</html>" << endl;
return 0;
}

corrida:

image81.jpg

corrida prog20

image82.jpg

como se observa la soluciĆ³n es muy sencilla solo se ocupa el registro original y los dos archivos el original y el temporal, se va leyendo registro a registro de archivo original al registro en memoria correspondiente, se realiza la operacion u proceso deseado con el registro y se graba el registro modificado en el archivo temporal, al final se elimina archivo original y se renombra el archivo temporal.

TAREAS PROGRAMACION LINUX GCC :

CONSTRUIRLES PROGRAMAS QUE PROCESEN ALGUNOS CAMPOS DE LOS ARCHIVOS EJEMPLOS QUE YA TIENEN CONSTRUIDOS.

Politica de Privacidad