#include <iostream>
#include <dbf.h> // Asegúrate de incluir la biblioteca correcta
void buscarPorCedula(const char* nombreArchivo, const char* cedulaBuscada) {
DBF *dbf = DBFOpen(nombreArchivo, "r");
if (dbf == nullptr) {
std::cerr << "Error al abrir el archivo DBF." << std::endl;
return;
}
int numRecords = DBFNumRecords(dbf);
int cedulaIndex = DBFGetFieldIndex(dbf, "CEDULA"); // Cambia "CEDULA" por el nombre real del campo
for (int i = 0; i < numRecords; i++) {
const char* cedula = DBFReadStringAttribute(dbf, i, cedulaIndex);
if (cedula && strcmp(cedula, cedulaBuscada) == 0) {
// Captura los campos que necesitas
const char* nombre = DBFReadStringAttribute(dbf, i, DBFGetFieldIndex(dbf, "NOMBRE")); // Cambia "NOMBRE"
const char* direccion = DBFReadStringAttribute(dbf, i, DBFGetFieldIndex(dbf, "DIRECCION")); // Cambia "DIRECCION"
std::cout << "Cédula: " << cedula << ", Nombre: " << nombre << ", Dirección: " << direccion << std::endl;
break; // Salir del bucle si se encuentra la cédula
}
}
DBFClose(dbf);
}
int main() {
const char* nombreArchivo = "historico.dbf"; // Cambia por la ruta de tu archivo
const char* cedulaBuscada = "12345678"; // Cambia por la cédula que deseas buscar
buscarPorCedula(nombreArchivo, cedulaBuscada);
return 0;
}