[C con Clase] mas dudas sobre matrices y punteros

Francesc fcabecer en xtec.cat
Jue Feb 8 20:29:27 CET 2007


Hola de nuevo!

A ver tengo una matriz bidimensional con cadenas de carácteres, definida como variable global.
Tengo una funcion que aleaorimente elige una casilla de la matriz dada y con la cadena que se encuentra en esa posición hace unas cuantas cosas (copiar, modifcar el string etc..)
Bien, supongamos que no tengo una matriz sino varias matrices bidimensionales con cadenas de caracteres.
Bien, la idea es que la misma función que tengo definida sea capaz de manejar la informació de una casilla independientemente de la matriz elegida.
Lo que yo hago es definir un puntero y asignarle la dirección del primer elemento de la matriz que se va a tratar

char *puntero;
char cadena_de_caracteres[30]="";
char matriz1[50][10][30]={"UNO", "DOS","TRES", etc....};
char matriz2[50][10][30]={"UNObis", "DOSbis","TRESbis", etc....};
...
char matrizn[50][10][30]={"UNOn", "DOSn","TRESn", etc....};
////////
en la funcion main,  mediante switch, hago

puntero=matrizx[0][0];  (donde x es en cada caso del switch 1, 2 o lo que sea)

funcion(void)        //funcion que maneja la matriz elegida

.....

el problema que tengo es que ahora en la función tengo un puntero a una matriz bidimensional y aunque "hago las operaciones necesarias para acceder a la casilla que deseo", por ejemplo
si la casilla deseada és (pos_x,pos_y)

puntero [10*pos_x+pos_y];
no puedo utilizar las funciones strcpy, strcat y similares.

strcpy(cadena_de_caracteres,puntero[10*pos_x+pos_y]); //me da error!! POR QUÉ???

que alternativas tengo? dónde me equivoco?

gracias
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070208/43e37050/attachment.html>


Más información sobre la lista de distribución Cconclase