Daten vom Server laden
-
So
#include <windows.h> #include <wininet.h> int main() { HINTERNET open = InternetOpen("iexplorer", INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0); if(open == NULL) { //error } HINTERNET Connection = InternetOpenUrl(open, "http://eastbourne.ea.funpic.de/test.txt", NULL, NULL, INTERNET_FLAG_RELOAD, NULL); char lesen[1024]; char* lesen2; InternetReadFile(Connection, lesen2, 1024, NULL); }so... mein Compiler (dev-c++ gibt aber diverse fehler aus)
36 C:\Eigene Dateien\C++\projekte\downltest\main.cpp [Warning] passing NULL used for non-pointer converting 4 of
void* InternetOpenUrlA(void*, const CHAR*, const CHAR*, DWORD, DWORD, DWORD)' 36 C:\\Eigene Dateien\\C++\\projekte\\downltest\\main.cpp [Warning] passing NULL used for non-pointer converting 6 ofvoid* InternetOpenUrlA(void*, const CHAR*, const CHAR*, DWORD, DWORD, DWORD)'
[Linker error] undefined reference toInternetOpenA@20' [Linker error] undefined reference toInternetOpenUrlA@24'
[Linker error] undefined reference to `InternetReadFile@16'
-
Schlechtes Beispiel... sollte besser heissen:
HINTERNET Connection = InternetOpenUrl(open, "http://eastbourne.ea.funpic.de/test.txt", NULL, 0, INTERNET_FLAG_RELOAD, NULL);Und füge noch die "Wininet.lib" als LIB Deinem Projekt hinzu...
Unter VC kannst DU das auch mittels:#pragma comment(lib, "Wininet.lib")machen; weiss aber nicht ob das DevC kann...
-
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?