BAJA FISICA
Publicado por sergio (1 intervención) el 26/11/2001 13:36:25
HOLA TENGO UN CGI EN C Y PUEDO DAR DE ALTA DENTRO DE UNOS CAMPOS, ALGUIEN ME PUEDE AYUDAR POR FAVOR A IMPLEMENTAR LAS BAJAS FISICAS DE LOS MISMOS CAMPOS
Valora esta pregunta
0
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void eliminarRegistro(const char *id) {
// Abrir el archivo en modo lectura y escritura
FILE *archivo = fopen("datos.txt", "r+");
FILE *tempArchivo = fopen("temp.txt", "w");
if (archivo == NULL || tempArchivo == NULL) {
perror("Error al abrir archivos");
exit(1);
}
char linea[256];
// Leer línea por línea y copiar al archivo temporal, excepto el registro a eliminar
while (fgets(linea, sizeof(linea), archivo)) {
if (strstr(linea, id) == NULL) {
fputs(linea, tempArchivo);
}
}
fclose(archivo);
fclose(tempArchivo);
// Reemplazar el archivo original con el archivo temporal
remove("datos.txt");
rename("temp.txt", "datos.txt");
}
int main() {
printf("Content-Type: text/html\n\n");
// Obtener el ID del registro a eliminar desde el formulario HTML
char id[20]; // Ajusta el tamaño según tus necesidades
// Obtener el valor de "id" desde la solicitud HTTP (QUERY_STRING)
eliminarRegistro(id);
printf("<html><head><title>Eliminación Exitosa</title></head><body>");
printf("<h1>Registro eliminado exitosamente</h1>");
printf("</body></html>");
return 0;
}