Ayuda strings... -
OTACON - 19.07.2013
Buenas a todos, quisiera saber como hacer para ke no me detecte los es los espacios como strings.
ejemplo, si hago esta comparacion, me retonara siempre en false por ke detectara el espacio como string y no sera la comparacion correcta.
pawn Код:
new TextoVariable[20] = "otacon capo";
if (!strcmp(TextoVariable, "otaconcapo")) {
//funcion...
}
Desde ya muchas Gracias.
PD para los troles: ya se ke esta comparacion no sera correcta nunca, por lo de otacon capo XDD :P.
Respuesta: Ayuda strings... -
BecksLennon - 19.07.2013
Nose mucho pero proba con "Guiуn_Bajo" _ = Espacio, Espero que te sirva, Saludos.
Respuesta: Ayuda strings... -
adri1 - 19.07.2013
No se a que te refieres, si pudieras explicarte mejor...
De todas formas creo que te refieres a esto:
pawn Код:
stock EliminarEspacios(string[])
{
new N[128];
strmid(N, string, 0, strlen(string), 128);
for(new i = 0; i < 128; i++)
{
if (N [i] == ' ') N[i] = '\0';
}
return N;
}
Respuesta: Ayuda strings... -
Jovazxc - 19.07.2013
Quote:
Originally Posted by adri1
No se a que te refieres, si pudieras explicarte mejor...
De todas formas creo que te refieres a esto:
pawn Код:
stock EliminarEspacios(string[]) { new N[128]; strmid(N, string, 0, strlen(string), 128); for(new i = 0; i < 128; i++) { if (N [i] == ' ') N[i] = '\0'; } return N; }
|
Eso no funcionara por que el caracter \0 terminara el string y simplemente no es lo que quiere
pawn Код:
stock _strcmp(string1[], string2[], bool:ignorecase=false, bool:ignorespaces=false, length=cellmax)
{
if(ignorespaces)
{
new eStr[255],
eStr2[255];
for(new i, b; string1[i]; i++)
{
if(string1[i] != ' ')
eStr[b++] = string1[i];
}
for(new i, b; string2[i]; i++)
{
if(string2[i] != ' ')
eStr2[b++] = string2[i];
}
return strcmp(eStr, eStr2, ignorecase, length);
}
else
return strcmp(string1, string2, ignorecase, length);
}
#define strcmp _strcmp
public OnFilterScriptInit()
{
if(strcmp("josstaa josstaa", "josstaajosstaa", true, true) == 0)
{
print("Son iguales!");
}
return 1;
}
Respuesta: Ayuda strings... -
OTACON - 19.07.2013
Quote:
Originally Posted by Josstaa
Eso no funcionara por que el caracter \0 terminara el string y simplemente no es lo que quiere
pawn Код:
stock _strcmp(string1[], string2[], bool:ignorecase=false, bool:ignorespaces=false, length=cellmax) { if(ignorespaces) { new eStr[255], eStr2[255];
for(new i, b; string1[i]; i++) { if(string1[i] != ' ') eStr[b++] = string1[i]; } for(new i, b; string2[i]; i++) { if(string2[i] != ' ') eStr2[b++] = string2[i]; } return strcmp(eStr, eStr2, ignorecase, length); } else return strcmp(string1, string2, ignorecase, length); } #define strcmp _strcmp
public OnFilterScriptInit() { if(strcmp("josstaa josstaa", "josstaajosstaa", true, true) == 0) { print("Son iguales!"); } return 1; }
|
Gracias josstaa , si eso era, funciona perfecto Gracias
.
Saludos.