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