Copiar arrays de strings

Started by FreeYourMind, December 08, 2010, 07:43:10 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

Quote from: blostec on December 11, 2010, 08:32:28 PM
Con tu código sigue sin funcionar bien, muestra:


b
97
0
98
0
99
0
a
6


Entonces no se pueden declarar tablas de caracteres? Pensándolo bien tampoco es que tengan mucho sentido, pero era por probar combinaciones.

si funciona bien, al ser "[]" sin tamaño definido, "a" significa "a" + 0, y lo mismo con todos.

creo que lo que esta mal es que te deje declarar el ultimo elemento de esa forma.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: SplinterGU on December 11, 2010, 08:33:47 PM

Program prueba_arrays;

import "mod_say";
import "mod_string";

PRIVATE

    char cadena5[4];
    char cadena3[2][0]="a", "b","c";

BEGIN

cadena5[1]=cadena3[2];

say(cadena5[1]);

say(cadena3[0]);
say(cadena3[1]);
say(cadena3[2]);

say(sizeof(cadena3));
say(sizeof(cadena3[0]));
say(sizeof(cadena3[1]));
say(sizeof(cadena3[2]));

END


pensandolo bien, este codigo no es correcto esto... creo que aca tengo algo mal, voy a revisar la generacion de opcodes...

y 2, no deberia permitir esto:

char lala[]="a", "b", "c";
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: SplinterGU on December 11, 2010, 08:57:55 PM
Quote from: SplinterGU on December 11, 2010, 08:33:47 PM

Program prueba_arrays;

import "mod_say";
import "mod_string";

PRIVATE

    char cadena5[4];
    char cadena3[2][0]="a", "b","c";

BEGIN

cadena5[1]=cadena3[2];

say(cadena5[1]);

say(cadena3[0]);
say(cadena3[1]);
say(cadena3[2]);

say(sizeof(cadena3));
say(sizeof(cadena3[0]));
say(sizeof(cadena3[1]));
say(sizeof(cadena3[2]));

END


pensandolo bien, este codigo no es correcto esto... creo que aca tengo algo mal, voy a revisar la generacion de opcodes...

y 2, no deberia permitir esto:

char lala[]="a", "b", "c";

vuelvo a rectificarme, el ejemplo, esta bien...

lo que queda mal es no deberia permitir asignar asi a chars sin dimension... eso tendre que corregirlo.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

corregido, ya no deja definir asi:

char lala[]="a", "b", "c";
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DjSonyk

Quote from: SplinterGU on December 11, 2010, 09:39:19 PM
corregido, ya no deja definir asi:

char lala[]="a", "b", "c";

¿Entoces hay que declarar en todas las matrices la dimension obligatoriamente?

SplinterGU

no, los char[], son strings... en ese caso, si pones un char [], tenes que poner 1 sola string.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

blostec

A ver si lo entiendo, siento ser tan pesado.

Esto no se puede hacer:

char cadena1[4]="a", "b", "c", "d", "e";

Se debe poner declarando siempre la dimensión? :

char cadena1[4][0]="a", "b", "c", "d", "e";


Drumpi

En teoría, si queremos un array de 4 char, debráimos hacerlo de una de estas dos formas (al menos, es como se ha hecho hasta ahora:

char cadena[]= "abcd";
char cadena[]= 'a','b','c','d';

Hacerlo así:
char cadena1[4]="a", "b", "c", "d", "e";
significa asignar 5 cadenas. En todo caso sería algo como:
char cadena1[4]="a"+"b"+"c"+"d"+"e";

Corregidme si me equivoco.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

esta mal, los char [] son strings fijas...

esta bien tu ultimo ejemplo donde usas +
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Quote from: SplinterGU on December 12, 2010, 04:25:17 PM
esta mal, los char [] son strings fijas...

Salvo en el momento de la definición, donde son del tamaño que se indique en la asignación, como todos los arrays ;D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

Quote from: Drumpi on December 12, 2010, 04:57:51 PM
Quote from: SplinterGU on December 12, 2010, 04:25:17 PM
esta mal, los char [] son strings fijas...

Salvo en el momento de la definición, donde son del tamaño que se indique en la asignación, como todos los arrays ;D

siguen siendo strings fijas... no podes cambiar el tamaño...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Windgate

Yo me estoy volviendo loco para pasar una string a un array de char, si se os ha pasado ya por la cabeza la forma de hacerlo fácilmente se agradecerá con un karma :P
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

SplinterGU

Quote from: Windgate on December 14, 2010, 12:47:08 PM
Yo me estoy volviendo loco para pasar una string a un array de char, si se os ha pasado ya por la cabeza la forma de hacerlo fácilmente se agradecerá con un karma :P

char lala[10];
string baba;

...

baba = "esto es simple";
lala = baba; // aca asigno una string a un array de char
lala = "esto tambien es simple"; // aca tambien asigno una string a un array de char

...

wind, no entiendo que es lo que no te sale...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DjSonyk

No se supone que un string es un array de char.... yo tampoco entiendo que no le sale....aunque tratandose de Wind..... igual esta intentando una barbarie,que no es lo mismo que esta imitando a una barbie... xP

SplinterGU

Quote from: DjSonyk on December 14, 2010, 01:37:09 PM
No se supone que un string es un array de char.... yo tampoco entiendo que no le sale....aunque tratandose de Wind..... igual esta intentando una barbarie,que no es lo mismo que esta imitando a una barbie... xP

bueno, strings y arrays de chars no son lo mismo, pero un se puede asignar a la otra sin problemas.

barbie... jajaja... creo que wind le gustan las barbies, pero de carne y hueso...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2