Archief - [C++] compare strings

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Blukkie

Legacy Member
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:
Code:
if (strcmp(playerIP, victimIP) == 0)
{
	sLog.outError("PlayerIP was the same as victimIP.");
	return false;
}

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.

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.

Curahee Q

Legacy Member
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).

Code:
if(std::string(playerIP) == victimIP) {
      //...
}
victimIP wordt automatisch omgezet naar een standard string (alsk mijn niet vergis) omdat playerIP nu ook een standard string is.
Echter zou ik eerst proberen met strcmp.

Blukkie

Legacy Member
Beide zijn van const char*. Daarom koos ik ook voor strcmp(), maar dit schijnt op dit moment dus niet te werken.

Blukkie

Legacy Member
Okay bedankt. Ik zal eventjes zoeken hoe dat breakpointen moet, heb het nog nooit gedaan.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan