FTP-Download Funktion
-
hi!
Wie der Name schon sagt, ich möchte eine FTP-Download Funktion schreiben
Die Funktion mit den Parametern soll in etwa so aussehen...DownloadviaFTP("ftpserver","username","Passwort","Server Datei","Lokale Datei");
Die Funktion habe ich mir schon zusammengebastelt, die die wininet Bibliothek benutzt:
void Downloads() { HINTERNET hInternet; HINTERNET hFtpSession; hInternet = InternetOpen(NULL,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0); hFtpSession = InternetConnect ( hInternet, "FTP-Server", INTERNET_DEFAULT_FTP_PORT, "Benutzername", "lol1234567890", INTERNET_SERVICE_FTP, 0, 0 ); FtpGetFile ( hFtpSession, "Server Pfad", "Lokaler Pfad", TRUE, 0 , FTP_TRANSFER_TYPE_BINARY, 0 ); InternetCloseHandle(hFtpSession); InternetCloseHandle(hInternet); }
Ich möchte also das er die Parameter von meiner Funktion in die FtpGetFile Funktion einsetzt.An den stellen, wo ich meine Parameter einsetzen will wird LPCTSTR verwendet(Siehe msdn "FtpGetFile()")Ich kenne aber LPCTSTR nicht besonders gut. Bisher habe ich als Variablen-Typen immer entweder int oder char genommen.
Bsp:void weißnicht(int b) { if (b==1) { //Code } else if (b==2) { //Code }
Bitte sagt mir einfach nur wie ich dieses LPCTSTR nutze. Ich denke das hat was mit WinApi zu tuen.
MfG cobra11freak
-
LPCTSTR - Long Pointer to Constant T-STRing.
durch das "T" ergeben sich zwei Fälle: Ist UNICODE (bzw. _UNICODE) definiert, expandiert dieser Typ zu LPCWSTR, was dasselbe ist wie const wchar_t*;
Ist UNICODE nicht definiert (also du hast kein Unicode Projekt), expandiert er zu LPCSTR, was dasselbe wie const char* ist;
So und jetzt nochmal: Wo war dein Problem?
-
Also mein Problem ist ich will die Parameter von meiner Funktion in die FtpGetFile()reinkopieren. Aber ich weiß halt nicht wie das mit LPCTSTR geht da ich vorher nur mit int und char gearbeitet habe!
-
Also ich habe jezt Folgenden Queltext:
#include <cstdlib> #include <iostream> #include <windows.h> #include <wininet.h> void DownloadviaFTP(__in LPCTSTR lpszVSERVER,__in LPCTSTR lpszVUSERNAME,__in LPCTSTR lpszVPASSWORT,__in LPCTSTR lpszDATEIS,__in LPCTSTR lpszDATEIL) { HINTERNET hInternet; HINTERNET hFtpSession; hInternet = InternetOpen(NULL,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0); hFtpSession = InternetConnect ( hInternet, lpszVSERVER, INTERNET_DEFAULT_FTP_PORT, lpszVUSERNAME, lpszVPASSWORT, INTERNET_SERVICE_FTP, 0, 0 ); FtpGetFile ( hFtpSession, lpszDATEIS, lpszDATEIL, TRUE, 0 , FTP_TRANSFER_TYPE_BINARY, 0 ); InternetCloseHandle(hFtpSession); InternetCloseHandle(hInternet); } int main() { DownloadviaFTP("ftp://lol.lo.funpic.de","lol","*********","\\Downlaods\\LOL.exe","C://LOL.exe"); }
Der Compieler sagt:
5 C:\Dev-Cpp\Projekte\Standart Verzeichnis\Templates\DownloadviaFTP.cpp variable or field `DownloadviaFTP' declared void 5 C:\Dev-Cpp\Projekte\Standart Verzeichnis\Templates\DownloadviaFTP.cpp `__in' was not declared in this scope 5 C:\Dev-Cpp\Projekte\Standart Verzeichnis\Templates\DownloadviaFTP.cpp `__in' was not declared in this scope 5 C:\Dev-Cpp\Projekte\Standart Verzeichnis\Templates\DownloadviaFTP.cpp `__in' was not declared in this scope 5 C:\Dev-Cpp\Projekte\Standart Verzeichnis\Templates\DownloadviaFTP.cpp `__in' was not declared in this scope 5 C:\Dev-Cpp\Projekte\Standart Verzeichnis\Templates\DownloadviaFTP.cpp `__in' was not declared in this scope 5 C:\Dev-Cpp\Projekte\Standart Verzeichnis\Templates\DownloadviaFTP.cpp `__in' was not declared in this scope 6 C:\Dev-Cpp\Projekte\Standart Verzeichnis\Templates\DownloadviaFTP.cpp initializer expression list treated as compound expression 6 C:\Dev-Cpp\Projekte\Standart Verzeichnis\Templates\DownloadviaFTP.cpp expected `,' or `;' before '{' token C:\Dev-Cpp\Projekte\Standart Verzeichnis\Templates\DownloadviaFTP.cpp In function `int main()': 39 C:\Dev-Cpp\Projekte\Standart Verzeichnis\Templates\DownloadviaFTP.cpp `DownloadviaFTP' cannot be used as a function C:\Dev-Cpp\Makefile.win [Build Error] ["Projekte/Standart Verzeichnis/Templates/DownloadviaFTP.o"] Error 1
-
Ok, ich habe es hinbekommen.
Habe mich wohl ein bisschen unverständlich ausgedrückt.
Das Tut mir leid...
Aber ich hatte mir das ganze komplizierter vorgestellt als es war!Aber ich muss schon sagen ihr seid ein echt cooles Forum!
MfG cobra11freak
-
Was war nun falsch?
Andere würde das wohl auch interessieren und nicht wieder auf das gleiche Problem stoßen!
-
denkanuns! schrieb:
Was war nun falsch?
Andere würde das wohl auch interessieren und nicht wieder auf das gleiche Problem stoßen!Wahrscheinlich war es einfach nur das _in ist jetzt aber auch schon 1 jahr her;)
Tut mir leid das ich das Vergessen hatte aber das _in macht für mich keinen Sinn