FtpCommand
-
Servus,
ich hab schon wieder ein Problem! Folgender Code funktioniert bei mir nicht:
#include <windows.h> #include <wininet.h> #include <stdio.h> #include <stdlib.h> int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { HINTERNET hIntSession = NULL; HINTERNET hFtpSession = NULL; HINTERNET hFtpCommand = NULL; char buff[4096]; DWORD dwBytesRead; FILE *f; hIntSession = InternetOpen ("FTP", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0) ; hFtpSession = InternetConnect (hIntSession, "ftp.tu-darmstadt.de", INTERNET_DEFAULT_FTP_PORT, "anonymous", "felix.maximus@web.de", INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0) ; BOOL bRet = FtpCommand(hFtpSession, TRUE, FTP_TRANSFER_TYPE_ASCII,"LIST", 0, &hFtpCommand); bRet = InternetReadFile(hFtpCommand,buff,4095,&dwBytesRead); buff[dwBytesRead] = 0; f=fopen("File.txt","w+"); fprintf(f,"%s\n",buff); fclose(f); InternetCloseHandle (hFtpSession) ; InternetCloseHandle (hIntSession) ; return 0; }Ich benutze Dev-C++ unter Windows XP. Bei diesem Projekt wurde außerdem noch libwininet.a eingebunden. Der Fehler, der bei mir erscheint lautet:
too many arguments to function `FtpCommandA'Und wenn ich den letzten Parameter(hier &hFtpCommand) entferne, kommt der Fehler:
[Linker error] undefined reference to `FtpCommandA@20'Was hab ich falsch gemacht? Muss noch irgendeine Datei eingebunden werden?
Danke im Voraus,
Felix
-
ich weis nicht was es mit libwininet.a auf sich hat bei Visual 2005 muss man noch WININET.LIB linken
mfg noha
-
Ich glaube, dass libwininet.a der WININET.LIB entspricht, aber ich hab's versucht und es hat nicht funktioniert. Das Einbinden einer lib-Datei funktioniert doch so oder:
#pragma comment(lib, "WININET.LIB")oder hab ich da einen Fehler gemacht?
Felix
-
Ich würde spontan mal einfach auf einen Fehler in der libwininet.a tippen.
Hast du die aktuellen w32api drauf?
http://downloads.sourceforge.net/mingw/w32api-3.9.tar.gz?modtime=1174905073&big_mirror=1
-
War ne gute Idee, aber hat nicht funktioniert!
Trotzdem danke.Felix
-
das mit dem linken ist so richtig

dann kann ich dir leider nicht weiterhelfen
-
Wo muss sich die WININET.LIB befinden?
-
Im PlatformSDK bzw. im "Windows SDK" oder teilweise auch mitgeliefert bei Microsoft-Entwicklungsumgebungen. Allerdings wirst du damit bei mingw nicht viel anfangen können (d.h. man kann daraus wohl ne libwininet.a die mingw braucht mittels irgendnem tool erzeugen)