Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Gelöschter Benutzer

unregistriert

1

24.01.2014, 15:18

C++ IP Adresse

Guten Tag,
mich quält ein Problem: wie kann ich in einer Win32-Konsolenanwendung die eigene IP des Rechners herausfinden? Es reicht nur eine kleine Bildschirmausgabe mit "cout". Habe viel mit dem "system(...)" Befehl gespielt, allerdings kommt nie diese Form: "AAA.BBB.CCC...". Ein kurzer Code-Schnipsel reicht,
alex41018

[EDIT: Die Lösung des Problems ist die einfach zu benutzende SFML, Info: KlickMich ]

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »alex41018« (28.01.2014, 20:42)


FarFarAway

Frischling

Beiträge: 6

Wohnort: Bonn

Beruf: System Operator | Student

  • Private Nachricht senden

2

24.01.2014, 15:52

HI!

Versuchs doch mal mit system("ipconfig") bzw system("ifconfig").

Output wäre dann z.b.:

Windows-IP-Konfiguration


Drahtlos-LAN-Adapter Drahtlosnetzwerkverbindung:

Medienstatus. . . . . . . . . . . : Medium getrennt
Verbindungsspezifisches DNS-Suffix: domain.com

Ethernet-Adapter LAN-Verbindung:

Verbindungsspezifisches DNS-Suffix: domain.com
Verbindungslokale IPv6-Adresse . : macadresse
IPv4-Adresse . . . . . . . . . . : 192.168.0.1
Subnetzmaske . . . . . . . . . . : 255.255.255.0
Standardgateway . . . . . . . . . : 192.168.0.254


Daraus lässt sich doch prima die Adresse rausschneiden.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

3

24.01.2014, 15:57

Welche Bibliothek nutzt du? Eigentlich sollte es eine entsprechende Methode geben.
https://www.google.de/search?q=C%2B%2B+l…sMojAswbeo4GwBg
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »NachoMan« (24.01.2014, 16:02)


David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

24.01.2014, 15:59

Welche IP meinst du überhaupt?
Eine private IP wie z.B. 192.168.1.42 oder die öffentliche IP, über die der Rechner im Internet sichtbar ist?

Letztere wirst du nicht herausbekommen, ohne einen Server im Internet zu kontaktieren und von dort die öffentliche IP wieder zurückzusenden.
Wenn du mal in der Windows-Netzwerkkonfiguration schaust, wirst du dort auch nirgendwo die öffentliche IP finden.

Gelöschter Benutzer

unregistriert

5

24.01.2014, 16:03

nein, ich suche nur die private IP :)

6

24.01.2014, 16:15

Kein system! System ist böse!

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string>
#include <iostream>
#include <stdio.h>

const std::string exec(const std::string& cmd) {
    FILE* pipe = popen(cmd.c_str(), "r");
    if (!pipe) return "ERROR";
    char buffer[128];
    std::string result;
    while(!feof(pipe)) {
    if(fgets(buffer, 128, pipe) != NULL)
        result += buffer;
    }
    pclose(pipe);
    return result;
}


Im Übrigen könnte dir das helfen. :)

MfG
Check

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Checkmateing« (24.01.2014, 16:22)


NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

7

24.01.2014, 16:28

Welche Bibliothek nutzt du? Eigentlich sollte es eine entsprechende Methode geben.

Die Frage hast du wohl übersehen^^
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Gelöschter Benutzer

unregistriert

8

24.01.2014, 17:33

Kein system! System ist böse!

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string>
#include <iostream>
#include <stdio.h>

const std::string exec(const std::string& cmd) {
    FILE* pipe = popen(cmd.c_str(), "r");
    if (!pipe) return "ERROR";
    char buffer[128];
    std::string result;
    while(!feof(pipe)) {
    if(fgets(buffer, 128, pipe) != NULL)
        result += buffer;
    }
    pclose(pipe);
    return result;
}


Im Übrigen könnte dir das helfen. :)

MfG
Check

Wofür ist der string cmd?

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

9

24.01.2014, 17:50

Wieso ignorierst du meine Frage? So schwer wird die ja wohl nicht zu beantworten sein.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Gelöschter Benutzer

unregistriert

10

24.01.2014, 18:34

@Nachoman: Sorry, tut mir leid, muss ich in der Eile überlesen haben :) Nun zur Antwort: ich verwende keine lib, nur einen aus dem Internet herausgebastelten Quellcode (total hässlich, ich schäme mich :P ). Als Compiler dient Visual Studio 2012 Express, Sprache: C++. Wenn jemand eine EINFACHE lib kennt, und vielleicht ein idiotensicheres Tutorial dazu, kann es er/sie hier bitte gerne posten.

Werbeanzeige