Usar fgets en lugar de scanf en C

Cuando aprendemos algoritmos en C, la forma de escanear variables por teclado es a través de scanf. Si bien este método funciona, existe el peligro de un desbordamiento de búfer.

Antes que nada te invito a ver lo que es un desbordamiento de búfer en C.

fgets vs scanf en C

Después de que leíste lo del desbordamiento es hora de ver por qué es mejor usar fgets en lugar de scanf. Esto es porque fgets escanea una variable pero únicamente hasta donde le digamos; es decir, nosotros le decimos cuánto debe leer (el tamaño).

Scanf en cambio no hace eso, lee todo dentro de la posición en memoria.

(más…)

Columnas con autoincremento en SQLite3

Introducción

El mismo sitio de SQLite3 dice que no recomienda el autoincremento o las columnas auto incrementables. Sin embargo, algunas veces es necesario hacer esto y según yo, no afecta tanto al rendimiento.

Veamos cómo crear una tabla con autoincremento y cómo es que SQLite3 maneja eso internamente. Por cierto, ya sabemos que este motor crea la columna rowid pero no podemos confiar en ella.

(más…)