CString to Byte
-
Hi
wie kann man einen Cstring in ein BYTE-Array kopieren?
//ip addr CString m_ipadresse = inet_ntoa( *(LPIN_ADDR)*hEnt->h_addr_list ); memcpy((void *) &part_reply->Ipaddr[0], (void *)&m_ipadresse, 4);
Hab auch schon probiert den CString in BYTE (unsigned char) zu konvertieren; dann hab ich aber pro Stelle (BYTE) ein Zeichen.... z.B. ip 192.xxx dann ist das erste Zeichen in Ipaddr[0] = 1, Ipaddr[1] = 9 --> natürlich sollte Ipaddr[0] = 192 darstellen.
Weiß jmd Rat?
Gruß
Jörg
-
Na Wenn ich dich richtig verstanden habe, willst du den string "192.168.0.1" in 4 Bytes konvertieren? Dann nutz doch RtlIpv4StringToAddress wenns um vista oder höher geht an sonnsten musst du das mit atoi oder so zu konvertieren, aber casten geht auf keinen fall das ergebnix hast du ja selbst gesehen, nur bleibt der sinn der übung mir verborgen.
-
So geht das nicht und ist auch nicht schön...
Am besten ist wenn Du den String in seine Einzelteile zerlegst. zb durch CString.Find('.') und dann die Zahlen-String-Fragmente mittels atoi umwandelst und dann dem BYTE-Array zuweist.