CStrings zerhacken für Netzwerkpackete
-
Hallo
also ich über mittel Daten über CAsyncSocket
Da ich verschiedene arten von Daten brauche sende ich sie mit verschiedenen vorzeichen.z.B.
x-koordinate versende ich mit "01"+m_cYam Server will ich diese nun wieder trennen bzw. unterscheiden
ich will also eine if schleife machen wo ich die ersten 3 zeichen abfrage.
z.B. bei X: if (erste 3 zeichen == "01$"){ erste 3 ziffern entfernen und x in variable schreiben}Bei der realisierung er if schleife is mein prob
also beim einlesen der ersten 3 ziffern und beim entfernen der ersten 3 ziffern in der schleife. Kann mir jemand bei der schleife helfen?
-
Also mit Left( ) und Right( ) kannst du den String auftrennen
dann noch ein wenig vergleichen und ein atoi( ) das müsste es doch seinGruß heiko
-
Damit du den String ohne deine Vorzeichen bekommst, könntest du wie folgt vorgehen:
CString strTemp = _T("01$100"); try{ if(strTemp.Left(3).Compare("01$")==0){ //vergleicht die ersten 3 Zeichen des Strings (von links) mit der Zeichenkette 01$ // 01$ wurde gefunden strTemp.Delete(0,3); //entfernt die ersten 3 Zeichen des Strings int x = atoi(strTemp); //Umwandlung des Strings in eine Zahl } } catch(CMemoryException e){}Gruß, seppelina
-
Au das sieht gut aus werds gleich ma austesten danke schon mal