ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
1735
1735
EMPFEHLEN
-
Hi Leute!
Folgendes:
Ich will einen Ip-Adressbereich anpingen.
Dazu hab ich eine Startadresse und eine Endadresse.
Die Hab ich dann jeweils in ihre segmente zerlegt, und dann in einen unsigned long umgewandelt (da hat mir jmd. geholfen).
So kann ich die in einer Schleife einfacher hochzählen.
Doch um dann mit jeder Adresse eine Funktion aufzurufen, brauch ich die Adresse als char [15] im Muster 192.168.1.1.
Wie kann ich das wieder umwandeln?
Oder gibt es von vornherein eine einfachere Methode, einen IP-Bereich zu pingen?
Bitte Antwort an djdodoandthedoctor@gmx.de
Dringend!
Danke!
Dodo
-
Vielleicht hilft das:
http://www.zotteljedi.de/doc/socket-tipps/insider.html
unter: IP-Adressen hochzählen
oder das:Code :1 2 3 4 5 6 7 8
unsigned long ip; //Hier ist deine IP char szIP[15]; //Hier gleich auch int a,b,c,d; a = (ip&0x000000FF); b = (ip&0x0000FF00)>>8; c = (ip&0x00FF0000)>>16; d = (ip&0xFF000000)>>24; sprintf(ip_szIP, "%d.%d.%d.%d", a,b,c,d);
-
18.09.04 22:48 #3
- Registriert seit
- Nov 2002
- Ort
- Altdorf bei Nürnberg
- Beiträge
- 3.027
Hi djdodo,
hier gibt es die Struktur in_addr und die Funktionen inet_aton, die einen String in einen Long Wert umwandelt, und inet_ntoa, das Gegenstueck dazu.
Ein kleines Beispiel:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#include <stdio.h> #include <arpa/inet.h> int main(int argc, char *argv[]) { char ipaddr[16]; struct in_addr addrst; printf("Bitte gebe eine IP Adresse ein: "); scanf("%15s", ipaddr); printf("\n"); if (!inet_aton(ipaddr, &addrst)) { /* inet_aton gibt 0 zurueck, wenn es sich um eine ungueltige IP Adresse handelt */ printf("%s ist keine gueltige IP Adresse\n", ipaddr); return 1; } else { printf("%s ist eine gueltige IP Adresse\n", inet_ntoa(addrst)); } return 0; }
-
@C Coder
Vielen Dank!
Dein Code hat mir sehr geholfen!
Es gibt doch noch Hoffnung, das Prog fertig zu kriegen!
Ähnliche Themen
-
Konvertierung: unsigned long -> Folge von Buchstaben.
Von KkTotheT im Forum C/C++Antworten: 11Letzter Beitrag: 24.11.10, 11:28 -
Ein char in long int umwandeln
Von lalalala im Forum C/C++Antworten: 14Letzter Beitrag: 19.11.10, 19:50 -
Unsigned long - Fehler
Von Philipp9494 im Forum C/C++Antworten: 0Letzter Beitrag: 05.09.08, 22:42 -
String in Long umwandeln
Von chickenwings im Forum JavaAntworten: 4Letzter Beitrag: 06.10.06, 15:14 -
cannot convert parameter 3 from 'unsigned long (void)'...
Von FBIagent im Forum C/C++Antworten: 0Letzter Beitrag: 22.11.05, 16:31





Zitieren
Login






