Guten Abend Breadfisher.
Für ein Multiaccount-Erkennungs-Befehl muss ich eine Ip bestehend aus 4 Zahlenblöcken auf die ersten drei kürzen. Dafür will ich folgenden Code nutzen:
new ip[18];
GetPlayerIp(zielid,ip,sizeof(ip));
new pos,minus = 1;
do
{
pos = strfind(ip,".",true,strlen(ip)-minus);
minus ++;
}while(pos == -1 || minus < strlen(ip));
new query[64],row[64],newip[18];
strmid(newip,ip,0,pos);
Eigentlich müsste das ganze so funktionieren, dass solange vom letzten Zeichen des Strings IP um ein Zeichen weiter nach vorne gegangen wird bis ein Punkt gefunden wird. Von hinten fange ich an zu suchen, indem ich als Anfang der Suche nach einen Punkt bei der länge des Strings anfange und dann immer einen Wert weiter runter gehe. Theoretisch soll dann ja von strfind die Anzahl der Zeichen vor dem letzten Punkt ausgegeben werden. Diese Anzahl nutze ich dann in strmid um von Zeichen 0 bis zum ersten gefundenen Punkt des String (die ersten drei Ziffernblöcke) herauszuschneiden und im String newip zu speichern.
Theoretisch sollte so aus der Ip 127.0.0.1 der String 127.0.0 isoliert werden. Jedoch erhalte ich als Ergebnis den String 127
Sieht jemand den Fehler ? bzw kann mir eine einfachere Methode nennen mit der man die ersten drei Ziffernblöcke isolieren kann ?
MFG
Hagi
edit: push nach Forenregeln
Zitat von ForenregelnIII.2 Damit sind insbesondere solche Beiträge oder Bearbeitungen von Beiträgen
unzulässig, die ausschließlich dazu dienen sollen, das jeweilige Thema
zu pushen.
Dies gilt nicht, wenn der letzte Beitrag des Themas bereits seit 48 Stunden besteht.