CURP

La primera librería de C para la construcción, validación, y análisis de la Clave Única de Registro de Población.

Advertencia

La librería esta en etapa experimental.

Advertencia

Esta página esta en construcción.

Validación

Si necesitas validar la CURP de forma eficiente, con la ventaja de conocer la causa del error y la posición del mismo en la CURP.

#include <stdio.h>
#include <curp.h>

int main() {
    int r;

    /* Se debe inicializar primero */
    curp_init();

    r = curp_validar("SABC560626MDFLRN01", NULL);

    if (r != CURP_VALIDA) {
        int err = curp_error(r);
        int pos = CURP_ERROR_POSICION(r);

        printf("Error %d en caracter %d", err, pos);
    }

    /* Libera memoria al terminar */
    curp_exit();
}

Análisis

Si deseas extraer los datos de la CURP, como fecha de nacimiento, sexo, y entidad federativa de nacimiento.

#include <stdio.h>
#include <curp.h>

int main() {
    struct curp p;

    /* Se debe inicializar primero */
    curp_init();

    if (curp_validar("SABC560626MDFLRN01", &p) >= 0) {
        printf("Fecha: %d/%d", p.dia_nacimiento, p.mes_nacimiento);
        printf("Sexo: %s", p.sexo == HOMBRE ? "hombre" : "mujer");
        printf("Entidad: %s", curp_entidad_nombre(p.entidad_nacimiento));
    }

    /* Libera memoria al terminar */
    curp_exit();
}

Construcción

Para crear una CURP con los datos de una persona.

#include <stdio.h>
#include <curp.h>

int main() {
    struct curp p;
    char *curp;

    curp = malloc(CURP_LENGTH + 1);
    curp[CURP_LENGTH] = '\0';

    p.anio_nacimiento = 1956;
    p.mes_nacimiento = 06;
    p.dia_nacimiento = 26;
    p.sexo = MUJER;
    p.entidad_nacimiento = CIUDAD_DE_MEXICO;

    /* Se debe inicializar primero */
    curp_init();

    curp_crear(curp, &p, "CONCEPCION", "SALGADO", "BRISENO");
    printf("%s", curp);

    /* Libera memoria al terminar */
    curp_exit();
}

Librería para C

Acerca de la CURP