Hallo zusammen, ich komme irgendwie nicht weiter. Ich habe einen "String", der eigentlich eine binäre Sequenz in hexadezimaler Interpretation darstellen soll. unsigned char source[] = "\x6a\x0a\x68\xc0\xa8\x00\x29\x68\x02\x00\x11\x5c\x89\xe6\x50"; Darin sind meine IP (192.168.0.41 an den Stellen 4,5,6 und 7 [\xc0\xa8\x00\x29]) und mein offener Port (4444 an den Stellen 11 und 12 [\x11\x5c]) enthalten. Ich möchte meine IP und meinen Port gerne einem Programm als Parameter übergeben (also mit argv), sie in die richtige Formatierung bringen und mit den Sequenzen meiner IP und meines Portes in char source ersetzen. Also so, das die binäre Sequenz am Ende auch wieder die korrekte Endian Schreibweise aufweist. Grüße Manuel
Manuel schrieb: > Ich habe einen > "String" Ein String ist dein Beispiel nicht, weil x00 enthalten ist, da hören Strings auf und die üblichen Funktionen wie strlen sind nicht anwendbar. Also handelt es sich um arrays, deren Länge anderweitig bekannt sein muss. Georg
Manuel schrieb: > sie in die richtige Formatierung bringen D.h. als String, "192.168...." ? Manuel schrieb: > Also so, das die binäre Sequenz am Ende auch wieder die korrekte Endian > Schreibweise aufweist. Was verstehst du unter "korrekt"? Die Byte Order des aktuellen Computers, oder die Network Byte Order, welche man z.B. via sockaddr an connect() übergibt?
Niklas G. schrieb: > Was verstehst du unter "korrekt"? Die Byte Order des aktuellen > Computers, oder die Network Byte Order, welche man z.B. via sockaddr an > connect() übergibt? Das kann ich ehrlich gesagt nicht sagen. Es sollte hald wie beschrieben eingefügt werden. So wie sie jetzt in der Variable source drin stehen. 192.168.0.41 -> \xc0\xa8\x00\x29 4444 -> \x11\x5c oder kann ich die Variable source irgendwie zerteilen und wieder zusammenfügen um das was ich will zu bewerkstelligen? LG Manuel
Tut mir leid, ich war wohl überarbeitet. Hab gerarde gemerkt das es mit memcpy tadellos funktioniert. LG Manuel
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.