CURLOPT_WRITEFUNCTION y CURLOPT_WRITEDATA para libcurl en C

En este artículo voy a hablar sobre la opción CURLOPT_WRITEFUNCTION que existe al usar libcurl en el lenguaje de programación C. Esta función se encargará de recibir los datos, pero tiene una particularidad y es que dicha función podría ser llamada al menos 1 vez, hasta una cantidad de veces indefinidas. En cada llamada se le pasará una cierta cantidad de datos, a veces pueden ser todos, a veces solo una parte, y nosotros debemos estar preparados para recibirlos y almacenarlos en algún lugar. Por cierto, el callback por defecto en esta opción es fwrite que simplemente imprime los datos. Yo te mostraré un ejemplo para almacenar todos los datos en una cadena dinámica, ya que al tener una cadena dinámica vas a poder compararla, imprimirla o almacenarla en algún lugar. ...

diciembre 30, 2023 · 3 min · 536 palabras · Parzibyte

Petición GET con C

En este post de programación en C aprenderás a usar ANSI C como un cliente HTTP para hacer una petición GET a cualquier URL sin importar si la misma devuelve JSON, un archivo o HTML. De este modo podrías aprender a consumir una API con C, pero comencemos con el principio revisando cómo hacer un HTTP request de tipo GET usando la librería cURL especializada para estos casos. Si bien es posible hacer una petición HTTP en C sin librerías, sería un trabajo muy complejo. Afortunadamente tenemos a libcurl que nos facilitará bastante el trabajo, y cuya instalación ya te mostré en otro artículo. Nota: ya existe el tutorial para hacer una petición POST. ...

diciembre 30, 2023 · 3 min · 457 palabras · Parzibyte

Petición HTTP POST con C

Acabo de enseñarte a hacer una petición HTTP de tipo GET usando el lenguaje de programación C con la librería cURL. En una petición GET no puedes enviar datos más allá de los parámetros GET en la URL, pero en una petición POST puedes enviar un payload de cualquier tipo ya sea JSON, archivo binario, etcétera. Justamente eso veremos hoy: cómo enviar datos JSON en una petición HTTP POST usando ANSI C. Te digo desde ahora que enviaremos los datos ya codificados, no los codificaremos directamente en C ya que si bien es posible eso queda fuera de este tutorial. ...

diciembre 30, 2023 · 3 min · 616 palabras · Parzibyte

String dinámica en C

En este post de programación en ANSI C o simplemente lenguaje C vamos a ver cómo tener una cadena dinámica que crece su tamaño sin ningún límite (más allá de la RAM). Esto es, dicho de otra manera, una string dinámica a la que se le pueden concatenar más cadenas y va a crecer su tamaño según sea requerido. Como bien sabes, las cadenas en C son arreglos de tipo char que tienen el carácter nulo en la última posición, y son de longitud fija. Gracias a los apuntadores, estructuras y funciones como malloc o realloc podemos aumentar la memoria que una variable usa, logrando así tener una cadena dinámica en C a la que le puedes concatenar otros strings sin límite. ...

diciembre 29, 2023 · 3 min · 539 palabras · Parzibyte

Plugin impresora térmica: exit status 44135

En este post voy a mostrarte la solución al problema que dice exit status 44135 al usar mi plugin para imprimir en impresoras térmicas al intentar obtener la lista de impresoras. El error se ocasiona porque en algunos sistemas operativos nuevos, wmic (que es el comando usado en Windows para obtener la lista de impresoras) ya no está soportado. ...

diciembre 19, 2023 · 1 min · 139 palabras · Parzibyte

Instalar libcurl para C y C++ (hacer peticiones HTTP)

Hacer petición HTTP con C y C++ es totalmente posible incluso siendo lenguajes de bajo nivel. Hacerlo sin librerías requeriría un esfuerzo enorme, pero afortunadamente existe cURL y la librería libcurl que podemos integrar en los proyectos de C para tener un cliente HTTP. Por ello es que en este post te enseñaré a instalar libcurl para ANSI C y C++ en Windows usando el entorno MSYS2. Igualmente aprenderás a compilar con libcurl e incluir el encabezado curl.h. ...

diciembre 15, 2023 · 2 min · 322 palabras · Parzibyte

Agregar ceros a número con JavaScript

El día de hoy veremos una función muy simple con JavaScript para agregar ceros a la izquierda de un número hasta que el mismo tenga cierta longitud, es decir, rellenar con ceros a la izquierda hasta tener las cifras deseadas. Esto funciona al generar series, entre otros casos. Veamos cómo hacerlo con JavaScript. ...

diciembre 8, 2023 · 2 min · 238 palabras · Parzibyte

DLL no encontrada con MinGW y C

En ocasiones, al distribuir nuestros programas creados con C y/o C++ se recibe un error por una DLL no encontrada, que dice algo como “La ejecución del código no puede continuar porque no se encontró nombre.dll. Este problema se puede solucionar reinstalando el programa”. Esto pasa porque, como su nombre lo dice, no existe esa DLL. La DLL debe estar en el mismo directorio donde se ubica nuestro ejecutable, o agregada a la PATH. Tenemos 2 posibles soluciones para errores de DLL no encontrada. ...

diciembre 8, 2023 · 2 min · 231 palabras · Parzibyte

Generar serie con prefijo usando JavaScript

En este post vamos a ver cómo generar una serie numérica con JavaScript en donde se solicita lo siguiente: La serie debe tener un prefijo Todos los números deben tener la misma cantidad de cifras, así que se debe rellenar con ceros en caso de ser necesario La serie debe iniciar en un número y terminar en otro, siempre incluyendo el prefijo Por ejemplo, generar una serie que diga “oferta” desde el 1 hasta el 100. Quedaría así: ...

diciembre 8, 2023 · 2 min · 224 palabras · Parzibyte

Incluir windows.h con GCC

En este post voy a enseñarte a compilar código C++ o CPP que a su vez usa la API de Windows a través del encabezado windows.h pero sin usar Visual Studio. Dicho con otras palabras, vas a aprender a compilar código de C++ usando GCC (g++) incluyendo el encabezado windows.h. En mi caso he usado MSYS para instalar MinGW y los compiladores de GCC y G++. ...

diciembre 8, 2023 · 2 min · 214 palabras · Parzibyte