SA-MP Forums Archive
[Pedido] Como fazer um comparador de strings? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Pedido] Como fazer um comparador de strings? (/showthread.php?tid=475323)



Como fazer um comparador de strings? - PawnoBrasil[xPBx] - 12.11.2013

Queria fazer um comparador de strings sem usar o proprio STRCMP.

Tem algum modo de fazer isso?


Re: Como fazer um comparador de strings? - Eudes - 12.11.2013

vc pode usar:
strcmp(str1,str2,ignorecase)==0 (compara duas strings se for 0 significa que sao iguais)

vc tambem pode dar include no dutils e usar:

equal(str1[],str2[],bool:ignorecase)




Respuesta: Como fazer um comparador de strings? - DanDRT - 12.11.2013

https://sampforum.blast.hk/showthread.php?tid=474838
De uma olhada nos codigos do topico.


Re: Como fazer um comparador de strings? - PawnoBrasil[xPBx] - 12.11.2013

DanDRT.. Dei uma olhada nos scripts la sу que nгo entendi esse calculo: result = ( a > b ) ? b : a;


Re: Como fazer um comparador de strings? - Juniiro3 - 12.11.2013

Quote:
Originally Posted by PawnoBrasil[xPBx]
Посмотреть сообщение
DanDRT.. Dei uma olhada nos scripts la sу que nгo entendi esse calculo: result = ( a > b ) ? b : a;
Bem, eu criei essa funзгo, sou o melhor pra te explicar...

Eu usei um operador ternбrio, basicamente ele verifica se A й maior que B, caso A seja maior, meu result serб igual a B, e caso B seja maior, meu result serб A.

Foi apenas uma otimizaзгo, e tratamento de exceзхes tambйm. Por exemplo, a string "teste" й igual a string "teste " atй o espaзo, dai elas jб ficam diferentes, mas com esse cбlculo que vocк citou ela vai comparar somente "teste" com "teste".

Resumidamente, esse cбlculo serve para ver qual й a menor string, para o loop lб em baixo rodar menos vezes e comparar somente a parte necessбria das strings.

"[TuT] Operaзгo ternбria", by zSuYaNw


Re: Como fazer um comparador de strings? - WLSF - 12.11.2013

tu tem que verificar se a string й igual a string2, para isso tem de percorrer todas as duas strings verificando char-by-char, por isso todas as funзхes lб usam loops.

Abraзos


Re: Como fazer um comparador de strings? - Eudes - 12.11.2013

ainda prefiro usar a funзгo do equal do include dutil:
pawn Код:
stock equal(str1[],str2[],bool:ignorecase) {
    if (strlen(str1)!=strlen(str2)) return false;
    if (strcmp(str1,str2,ignorecase)==0) return true;
    return false;
}
acho mais eficiente