Hola a todos. Soy nuevo por estos lares, aunque os visitaba hasta ahora como lector.
Vengo rebotado de los foros de GP32Spain, donde estoy haciendo mis pinitos con Bennu y una aplicación sencilla para Wiz, y estoy intentando hacer una cosa que no se si se puede.
Formando parte de un visualizador sencillo de texto plano, estoy intentado acceder a un caracter de una string directamente, ya que con las funciones de bennu, la rutina me va muy lenta en la wiz.
Esto es:
string prueba="pelaez"; //Esta sería la variable inicializada.
say(prueba[2]); //Con esto me da directamente la "l" de "pelaez";
Sin embargo si intento prueba[2]="x"; me da un error en compilación de que no es una variable.
Parece como si prueba[2] la pudiese leer, pero no escribir.
También he intentado acceder a los caracteres via punteros pero no hay manera. (O tampoco se puede, o no lo consigo).
Quisiera saber si lo que intento hacer es posible, o no.
Gracias y saludos.
P.D.
Adjunto enlace a la mini discusión de GP32Spain por si vale para aclarar algo.
http://www.gp32spain.com/foros/showthread.php?t=72134
No he probado lo que dices, pero entiendo el problema, intento ayudarte mientras alguien más experto nos cuenta algo:
Si un caracter es accesible aunque sólo sea en lectura, podrias "reconstruir" la cadena de texto cambiando sólamente ese caracter y volver a asignarla a la string.
Si no hay una solución mejor puedes hacer una FUNCTION que se ocupe de ello:
FUNCTION string replace_char ( string original , char change , int position )
Pero vamos, espera a ver si alguien nos ofrece una alternativa más sencilla, y bienvenido a este lugar dejado de la mano del altísimo.
Creo que no se puede hacer eso con strings. Yo lo que hacía (antiguamente) era usar la función substr y reconstruir la cadena.
string mistring="chismorreo";
mistring = substr(mistring,0,4)+"p"+substr(mistring,5);
Otra cosa es si estás usando cadenas de caracteres "char" en cuyo caso sí se puede usar:
char micadena[]="chismorreo";
micadena[4]='p';
No lo he probado, pero creo que debería funcionar.
Welcome to your DOOM! ;D
why?
Is there more than one DOOM?
Inspired in 'Altered Beast' ::)
debido al tipo de datos que es una string, esto solo es una facilidad para la lectura... si queres modificar usando el metodo de array, quizas te convenga usar char[] en vez de string.
saludos
Muchas gracias a todos, da gusto que te reciban de esta manera.
Splintergu, supongo que seras el mismo de gp32, saludos especiales, veo que estas en todas partes.
Gracias de nuevo, y hare el último intento con arrays de chars a ver como responde en velocidad la wiz.
Yo soy GameMaster de Gp32 por si no lo sabias, tu nick cual es ?
bienvenido.
bienvenido
Quote from: FreeYourMind on March 16, 2010, 10:11:15 PM
Yo soy GameMaster de Gp32 por si no lo sabias, tu nick cual es ?
Perdona, pero no reconocí tu logo, pero el de splintergu si. Mi nick es el mismo.
Lo que pasa es que no soy, ni puedo ser, un miembro muy activo, ya sabes: trabajo, casa, mujer, niño (y otro en camino).
Me topé con la wiz por casualidad, con sus foros, por lo mismo y con bennu idem. Es todo una cadena de coincidencias, pero predestinadas unas con otras, y me encantó su espíritu.
Fui programador freelance de clipper en su época y al ver el mundillo este, me volvió el gusanillo, el cual tube que abandonar al terminar mi etapa de juventud y 'sentar la cabeza'.
Sinceramente, esto ha mejorado, pero para mejor-mejor.
Lo malo es que ahora, mientras deayuno, voy a tener que mirar 2 foros. ;)