Daten vom Server laden
-
scheinbar kann ers nicht ... es kommt nämlich immernoch
[Linker error] undefined reference to
InternetOpenA@20' [Linker error] undefined reference toInternetOpenUrlA@24'
[Linker error] undefined reference to `InternetReadFile@16'zurück
-
Wininet.lib hast Du hinzugefügt, dass er gegen diese LIB linken soll?
-
wenn du damit meinst das ich die lib im projekt aufgenommen habe dann ja .. (fehler bleibt)
-
Du solltest Dich an jemand wenden, der sich mit Deiner IDE auskennt...
-
die datei heißt dort ein wenig anders. ich glaube libwininet.a oder so.
-
achso und das mit dem pragma geht meines wissens nicht. du musst die datei über die projektoptionen einbinden.
-
woher nehme ich den jemand der sich mit dev-c++ auskennt
und es gibt die libwinnet.a ... hab sie mal dem Projekt hinzugefügt.. nix passiert
sorry .. aber ic hkriegs echt net gebacken

-
dev-c++ solltest du sowieso meiden. ist eine der schlechtesten ides. nimm codeblocks oder visual c++ 2005 express edition.
-
okay habs mal in codeblocks gemacht...
aber ich habe immernoch ein problem...
er gibt bei dem code
#include <iostream> #include <windows.h> #include <wininet.h> #pragma comment(lib, "libwininet.a") using namespace std; int main() { /* InternetOpenUrl( HINTERNET hInternet, LPCTSTR lpszUrl, LPCTSTR lpszHeaders, DWORD dwHeadersLength, DWORD dwFlags, DWORD_PTR dwContext ); InternetOpen( LPCTSTR lpszAgent, DWORD dwAccessType, LPCTSTR lpszProxyName, LPCTSTR lpszProxyBypass, DWORD dwFlags ); InternetReadFile( HINTERNET hFile, LPVOID lpBuffer, DWORD dwNumberOfBytesToRead, LPDWORD lpdwNumberOfBytesRead );*/ HINTERNET open = InternetOpen("iexplorer", INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0); if(open == NULL) { //error } //HINTERNET Connection = InternetConnect(Initialize,"",INTERNET_DEFAULT_HTTP_PORT, NULL,NULL,INTERNET_SERVICE_HTTP,0,0); HINTERNET Connection = InternetOpenUrl(open, "http://eastbourne.ea.funpic.de/test.txt", NULL, 0, INTERNET_FLAG_RELOAD, 0); char lesen[1024]; char* lesen2; InternetReadFile(Connection, lesen2, 5024, NULL); cout << lesen << endl; }0 aus

-
du solltest auch schon was in das array schreiben lassen...
-
-
macht er das nicht hier
InternetReadFile(Connection, lesen, 1024, NULL);
schreibt er da nicht in lesen?
-
das steht da in deinem quellcode nicht.
-
oh ist das peinlich

*im boden versink* (jaja im quellcode müsste der zeiger zugewiesen werden)
okay aber ich habe immernoch ein prob.
#include <iostream> #include <windows.h> #include <wininet.h> #pragma comment(lib, "libwininet.a") using namespace std; int main() { /* InternetOpenUrl( HINTERNET hInternet, LPCTSTR lpszUrl, LPCTSTR lpszHeaders, DWORD dwHeadersLength, DWORD dwFlags, DWORD_PTR dwContext ); InternetOpen( LPCTSTR lpszAgent, DWORD dwAccessType, LPCTSTR lpszProxyName, LPCTSTR lpszProxyBypass, DWORD dwFlags ); InternetReadFile( HINTERNET hFile, LPVOID lpBuffer, DWORD dwNumberOfBytesToRead, LPDWORD lpdwNumberOfBytesRead );*/ HINTERNET open = InternetOpen("iexplorer", INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0); if(open == NULL) { //error } //HINTERNET Connection = InternetConnect(Initialize,"",INTERNET_DEFAULT_HTTP_PORT, NULL,NULL,INTERNET_SERVICE_HTTP,0,0); HINTERNET Connection = InternetOpenUrl(open, "http://eastbourne.ea.funpic.de/test.txt", NULL, 0, INTERNET_FLAG_RELOAD, 0); char lesen[123]; InternetReadFile(Connection, lesen, 10024, NULL); cout << ";" << lesen << ";" << endl; }
-
so einen thread hast du schonmal aufgemacht? bist du vergesslich?
http://www.c-plusplus.net/forum/viewtopic-var-t-is-135867-and-highlight-is-.html
-
@zwischenfrage
siehst du ein das ich ans ziel gekommen bin?ich bin steckengeblieben, und wollte das thema jetzt nochmal angehen
(und ein internet zugriff funktioniert ja schon )
nur wird immernochnicht das richtige ausgegeben *verzweifel*
-
versteh ich nicht. im alten thread hattest du nur linker-probleme die du jetzt ja lösen könntest.
-
ich kann aber den alten code nicht wirklich nachvolzeihen, den hier allerdings schon, deshalb: kannst du mir nicht sagen was falsch ist?
-
z.b. darfst du bei InternetReadFile beim 4. parameter nicht einfach NULL angeben
-
einfach mal RFC zum HTTP Protokol angucken und mit Sockets lösen - für sowas dürftest du eigentlich fertigen Programmcode finden...