eigene IP-Adresse ausgeben
-
jo,
dieser code hier produziert bei mir 282 Fehler
: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39386.html
meistens sowas wie default-int nicht unterstütztdieser hier http://www.c-plusplus.net/forum/viewtopic-var-t-is-39385.html
(natürlich um main() ergänzt)283 fehler, eigentlichdieselben wie oben.mfg,
andi01.
-
Also was für Fehler kommen denn genau bei
#include <iostream> #include <winsock2.h> #include <windows.h> using namespace std; #pragma comment(lib,"ws2_32.lib") // für MSV C++ int main() { WSADATA wData; if (WSAStartup(MAKEWORD(2, 0), &wData ) == 0) { char hostname[255]; if (gethostname(hostname, sizeof(hostname)) == 0) { PHOSTENT hostinfo; if((hostinfo = gethostbyname(hostname)) != 0) cout << inet_ntoa(*(struct in_addr *)*hostinfo->h_addr_list) << endl; } WSACleanup(); } return 0; }Und das gibt nur die primäre IP des Hosts mit dem Namen deines Rechners aus.
-
da ich unmöglich 283 fehler hier posten kann hab ich mal ne txt-datei die diese fehler beinhaltet upgeloadet:
http://rapidshare.com/files/273888689/ip_cpp-fehler.txt.htmledit: bei deinem code kommen keine fehler, das problem ist gelöst. nur warum treten bei dem anderen code die fehler auf?
-
Die ersten 10 reichen meist...
Simon
-
hier mal die ersten 10:
1>c:\programme\microsoft sdks\windows\v6.0a\include\wininet.h(58) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'HINTERNET'
1>c:\programme\microsoft sdks\windows\v6.0a\include\wininet.h(58) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\programme\microsoft sdks\windows\v6.0a\include\wininet.h(58) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\programme\microsoft sdks\windows\v6.0a\include\wininet.h(59) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
1>c:\programme\microsoft sdks\windows\v6.0a\include\wininet.h(59) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\programme\microsoft sdks\windows\v6.0a\include\wininet.h(59) : error C2378: 'HINTERNET': Neudefinition; Symbol kann nicht mit typedef überladen werden
1> c:\programme\microsoft sdks\windows\v6.0a\include\wininet.h(58): Siehe Deklaration von 'HINTERNET'
1>c:\programme\microsoft sdks\windows\v6.0a\include\wininet.h(59) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\programme\microsoft sdks\windows\v6.0a\include\wininet.h(61) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'INTERNET_PORT'
1>c:\programme\microsoft sdks\windows\v6.0a\include\wininet.h(61) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\programme\microsoft sdks\windows\v6.0a\include\wininet.h(61) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.mfg,
andi01.
-
naja, letztlich is es ja eigentlich egal, der code von lagalopex funktioniert ja. wäre bloß mal interessant zu wissen woher all diese fehler kamen.
mfg,
andi01.
-
vielleicht klappt es wenn du #include <windows.h> über bzw. unter #include <winsock2.h> schreibst (einfach mal ändern)
-
hatte ich auch schon erfolglos probiert
.
ich weiß wirklich nicht woran das mit den fehlern lag...jedenfalls schonmal danke für die bisherigen antworten
.wäre trotzdem schön wenn mir noch jemand erklären könnte woher die fehler kamen.
mfg,
andi01.
-
bei mir zickt die "winsock2.h" auch rum, nimm mal:
#include <winsock.h> #include <wininet.h>
-
danke, jetzt hat auch der alte code mit den vielen fehlern funktioniert
. damit ist das problem gelöst.danke für die ganzen antworten,
andi01.