¿Cómo logro ubicarme en una zona de un array en C?

Iniciado por proxy_lainux, Enero 27, 2017, 05:04:07 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Hola

Estoy haciendo una aplicación para descargar imágenes, a veces necesito descargas varias y se me hace muy pesado hacerlo uno por uno, pero me surgió una duda, estoy haciendo uso de Curl.

Lo primero que hice fue descargar el código fuente de la página y guardar en un buffer el código, al parecer ya puedo hacer uso de ella con los array, pero ahora viene algo que no sé cómo funcionaría mejor. Tengo la idea de buscar los links de la imágenes y separarlas... por ejemplo

Código: html5
if (!_W.getCookie('506442620979584765_cookie_policy') || (_W.getCookie('506442620979584765_cookie_policy') !== cookie_content)){
if (cookie_location === 'top' || cookie_location === 'bottom'){

.....

<a href = "imagenes/imagen1.jpg" </a>


Me gustaría buscar en el array <a href>, al encontrarlo, ir separando los links y guardarlos
Código: html5

"imagenes/imagen1.jpg"
"imagenes/imagen2.jpg"
"imagenes/imagen3.jpg"


Ya separados, guardar el nombre de la imagen con fopen, hacer una petición (me imagino que debo usar GET), y guardar los bytes de descarga, para finalmente obtener las imágenes.

Pero necesito ideas de cómo lograrlo, tengo en el (array char) el código fuente, ¿pero de que manera busco "<a href" para encontrar los links de las imágenes?, quería usar un for que me buscara en el array la parte deseada y con strcmp verificar si es lo que estoy buscando, pero siempre me sale este mensaje cuando buscaba alguna parte del código

Código: php
aviso: el paso del argumento 1 de 'strcmp' crea un puntero desde un entero sin una conversión [-Wint-conversion]
     if(strcmp(buff[a], 'c') == 0){
               ^~~~
In file included from downweb.c:3:0:
/usr/include/string.h:140:12: nota: se esperaba 'const char *' pero el argumento es de tipo 'char'
extern int strcmp (const char *__s1, const char *__s2)


pero no sé si haya otra manera de hacerlo, que no sea manualmente ya que no siempre se encontrarán en la misma posición, ¿Ideas de que podría hacer en ese caso?