inet_addr() Mit Variable füllen
-
Hallo, ich habe heut ca. 5std lang versucht die Funktion inet_addr() anstatt so inet_addr("199.00.00.0") mit einer Variable zu füllen, jedoch habe ich es nicht geschaft!
Die Funktion c_str() funktioniert nicht bei System Strings ebenso wenig data().
Gibt es eine Möglichkeit einen System String in einen basic String umzuwandeln.
Gibt es eine Möglichkeit einen System String in const char * umzuwandeln.
Bitte um schnelle Antwort.
MfG Peter
-
Wie wärs mit google? Wie wärs mit C++ anstatt dem C# mist?
-
Killerpeter schrieb:
Hallo, ich habe heut ca. 5std lang versucht die Funktion inet_addr() anstatt so inet_addr("199.00.00.0") mit einer Variable zu füllen, jedoch habe ich es nicht geschaft!
5h ?
für sowas?
const char ipstr[] = {"213.60.63.1"}; inet_addr(ipstr);
-
Mhm ok werds versuchen
-
Ich glaube eher das Du die Grundlagen der C/C++ Programmierung nicht kannst!
Das oben ist natürlich nur ein Bsp. für C/ (C++). Kenne C# zu wenig.Edit: Du musst schon lesen was ich Dir schreibe... weiss nicht was Du meinst mit ^IP_ADDR.
-
Ne, das hilft mir auch nicht weiter.
Ich muss ja den String ^IP_ADDR in den char kriegen.Mit nem normalen String habs ich es so hinbekommen:
char strarray[100]; string IP = "127.0.0.1"; int arrayLength = IP.length(); for (int i = 0; i < arrayLength; i++) { strarray[i] = IP[i]; }
Aber bei einem "String ^" bekommme ich wieder nur Fehler
-
Zeige mal ein ganzes Bsp. und wo dein Problem liegt. String^ kann von C++/CLI sein, aber auch von C++/CX... also etwas mehr Kontext bitte.
-
Ok, dann hier mal ein paar Infos.
Ich schreibe in Microsoft Visual Studio eine Windows Forms Anwendung.
In der Anwendung müssen bestimmte Daten an einen anderen Rechner übermittelt werden, das habe ich mit Sockets bewältigt.Ablauf:
Der Benutzer gibt die IP_Adresse in einem dialog Fenster ein, ich lese nun diese Ip aus(Bis hierhin klappt alles, die Sockets funktionieren Verbinden geht...) und setze die IP per Variable in die Funktion inet_addr() und hier liegt das Problem! Ich bekomme die IP nicht in die Funktion da ich keine Typumwandlung kenne. Und der Idi** der da oben gesagt hat benutz Google, hat wohl keine Ahnung. Ich habe lange gesucht und nichts gefunden.
Das ist die Variable die die IP enthält:
IP_ADDR = this->dialog->textBox1->Text;
const char ipstr[] = {"127.0.0.1"}; //Hier sollte dann die IP_ADDR verwendet werden! memset(&addr,0,sizeof(SOCKADDR_IN)); addr.sin_family=AF_INET; addr.sin_port=htons(12345); addr.sin_addr.s_addr=inet_addr(ipstr);
-
Killerpeter schrieb:
Ich schreibe in Microsoft Visual Studio eine Windows Forms Anwendung.
...ich würde (sofern möglich) Windows.Forms lieber mit C# statt C++/CLI machen und direkt mit dem .NET-Framework arbeiten statt mit der WinAPI
Ansonsten:
http://support.microsoft.com/kb/311259/en-usEdit: Oder auch einfach die .NET Socket-Klasse nehmen statt Winsock aus WinAPI.