Mensajes: 130
Temas: 56
Registro en: Mar 2021
Reputación:
0
Hola que tal buenos dias, ando con una duda existencial...
Vengo de otros lenguajes donde se puede recorrer una cadena de texto o un string..
Código PHP: new String[33] formatex(String,charsmax(String), "mi string")
for(new i = 0; i< sizeof String; i++){ client_print( id, print_console, "El caracter es: %s",String[i] ); }
El problema de eso es que sizeof String me devolveria 33, y esto desbordaria, otro problema es que
client_print(id, print_console,"%s",String[0])
no devuelve "m" que es el primer caracter...
necesito recorrer el string caracter por caracter para hacer un control de variables y no se como hacerlo, no se si me explique
Mensajes: 448
Temas: 38
Registro en: May 2020
Reputación:
19
Código PHP: public test() {
#define MAX_NUM_PALABRAS 3 #define MAX_CARACTERES_POR_PALABRA 25
new szMisPalabras[MAX_NUM_PALABRAS][MAX_CARACTERES_POR_PALABRA]
copy(szMisPalabras[0], charsmax(szMisPalabras[]), "Pera") copy(szMisPalabras[1], charsmax(szMisPalabras[]), "Manzana") copy(szMisPalabras[2], charsmax(szMisPalabras[]), "Mango")
for(new i = 0; i < MAX_NUM_PALABRAS; i++) { server_print("Palabra: %s", szMisPalabras[i]) }
}
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
creo que era len(texto) o strlen(texto) algo asi
Mensajes: 448
Temas: 38
Registro en: May 2020
Reputación:
19
05/09/2022, 11:48 AM
(Última modificación: 05/09/2022, 11:49 AM por [N]drs. Edited 1 time in total.)
Olvida lo primero, me buguie, no lo borro porque igual le serviría a alguien
En tu caso como dijo hinami se usa strlen()
Código PHP: public test() {
new String[33] formatex(String,charsmax(String), "mi string")
for(new i = 0; i < strlen(String); i++){ server_print("El caracter es: %c", String[i]) }
}
Para mostrar caracteres, en vez de %s, se usa %c
Output:
Código: El caracter es: m
El caracter es: i
El caracter es:
El caracter es: s
El caracter es: t
El caracter es: r
El caracter es: i
El caracter es: n
El caracter es: g
Mensajes: 130
Temas: 56
Registro en: Mar 2021
Reputación:
0
(05/09/2022, 11:27 AM)[N]drs escribió: Código PHP: public test() {
#define MAX_NUM_PALABRAS 3 #define MAX_CARACTERES_POR_PALABRA 25
new szMisPalabras[MAX_NUM_PALABRAS][MAX_CARACTERES_POR_PALABRA]
copy(szMisPalabras[0], charsmax(szMisPalabras[]), "Pera") copy(szMisPalabras[1], charsmax(szMisPalabras[]), "Manzana") copy(szMisPalabras[2], charsmax(szMisPalabras[]), "Mango")
for(new i = 0; i < MAX_NUM_PALABRAS; i++) { server_print("Palabra: %s", szMisPalabras[i]) }
}
si quisiera guardar el dato de una variable?
Código PHP: new g_variable[33][MAX_NUM_PALABRAS] for(new i = 0; i < MAX_NUM_PALABRAS; i++) { copy(szMisPalabras[i], charsmax(szMisPalabras[]), "%d",g_variable[id][i]) }
Eso me da error
Mensajes: 448
Temas: 38
Registro en: May 2020
Reputación:
19
(05/09/2022, 11:54 AM)aramayo123 escribió: si quisiera guardar el dato de una variable?
Código PHP: new g_variable[33][MAX_NUM_PALABRAS] for(new i = 0; i < MAX_NUM_PALABRAS; i++) { copy(szMisPalabras[i], charsmax(szMisPalabras[]), "%d",g_variable[id][i]) }
Eso me da error
Código PHP: #include <amxmodx>
#define PLUGIN "[TUT] Recorrer palabras y mostrarlas" #define VERSION "1.0" #define AUTHOR "[N]drs"
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR)
test(15) }
public test(id) {
#define MAX_NUM_PALABRAS 3 #define MAX_CARACTERES_POR_PALABRA 25
new g_variable[33][MAX_NUM_PALABRAS][MAX_CARACTERES_POR_PALABRA]
// Cargar palabras al jugador copy(g_variable[id][0], charsmax(g_variable[][]), "Pera") copy(g_variable[id][1], charsmax(g_variable[][]), "Fresa") copy(g_variable[id][2], charsmax(g_variable[][]), "Naranja")
// Guardar palabras en una nueva varible new szMisPalabras[MAX_NUM_PALABRAS][MAX_CARACTERES_POR_PALABRA]
for(new i = 0; i < MAX_NUM_PALABRAS; i++) { formatex(szMisPalabras[i], charsmax(szMisPalabras[]), "%s", g_variable[id][i]) }
// Printear variable for(new i = 0; i < MAX_NUM_PALABRAS; i++) { server_print("Palabra: %s", szMisPalabras[i]) }
}
Mensajes: 130
Temas: 56
Registro en: Mar 2021
Reputación:
0
(05/09/2022, 11:48 AM)[N]drs escribió: Olvida lo primero, me buguie, no lo borro porque igual le serviría a alguien
En tu caso como dijo hinami se usa strlen()
Código PHP: public test() {
new String[33] formatex(String,charsmax(String), "mi string")
for(new i = 0; i < strlen(String); i++){ server_print("El caracter es: %c", String[i]) }
}
Para mostrar caracteres, en vez de %s, se usa %c
Output:
Código: El caracter es: m
El caracter es: i
El caracter es:
El caracter es: s
El caracter es: t
El caracter es: r
El caracter es: i
El caracter es: n
El caracter es: g
No habia visto esto perdon, mil gracias, esto era lo que buscaba
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
|