Thread: [C++] compare strings
-
20-05-2010, 16:26 #1Member
- Registered
- 07/03/09
- Location
- Zuid-Holland
- Posts
- 11
- iTrader
- 0
- Mentioned
- 0 Post(s)
[C++] compare strings
Hey allemaal, ik zit met een probleempje die ik niet opgelost krijg.
Ik heb een functie geschreven die twee IP's van mensen moet vergelijken. Alles werkt prima tot aan het gedeelte waar hij ze gaat vergelijken, ze zijn volgens de script ALTIJD gelijk aan elkaar.
Gedeelte van Script:
Ik heb ook gekeken naar wat hij dan vergelijkt, en de IPs zijn inderdaad NIET gelijk aan elkaar, en toch zegt de script van WEL.Code:if (strcmp(playerIP, victimIP) == 0) { sLog.outError("PlayerIP was the same as victimIP."); return false; }
Ook heb ik (playerIP == victimIP) geprobeerd, werkte niet.
Wat kan het probleem zijn?
Alvast bedankt.
P.S. als er meer script nodig is, zal ik dit posten.no votes
-
-
20-05-2010, 16:32 #2
Van welk type is playerIP en victimIP? Indien ze van het type std:: string zijn kan je ze gewoon vergelijken met == en als ze van het type char* zijn moet je ze inderdaad met strcmp vergelijken.
Je kan ook een beetje valsspelen door een char* om te zetten naar een standard string (std:: string).
victimIP wordt automatisch omgezet naar een standard string (alsk mijn niet vergis) omdat playerIP nu ook een standard string is.Code:if(std::string(playerIP) == victimIP) { //... }
Echter zou ik eerst proberen met strcmp.no votes
-
20-05-2010, 18:46 #3Member
- Registered
- 07/03/09
- Location
- Zuid-Holland
- Posts
- 11
- iTrader
- 0
- Mentioned
- 0 Post(s)
Beide zijn van const char*. Daarom koos ik ook voor strcmp(), maar dit schijnt op dit moment dus niet te werken.
no votes
-
20-05-2010, 23:52 #4Member
- Registered
- 07/03/09
- Location
- Zuid-Holland
- Posts
- 11
- iTrader
- 0
- Mentioned
- 0 Post(s)
Okay bedankt. Ik zal eventjes zoeken hoe dat breakpointen moet, heb het nog nooit gedaan.
no votes
