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.

 




Google
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Politica de Privacidad